...........................,d888888888b,
.........................,dP"'................`"Qb ,
...............,d88buP"......................."Qud 88b,
.............dP".....8'..........................` 8..... "Qb
...........dP".....::8.._.:...@;.._..;@..:._..8::. ...."Qb
..........,8'......: P"..............` '............"Qb::.....8,
..........dP.....:::8(...........`--^--'..........)8:::.......b
.........8'.......::::"Qba,.....,......,......,adP "::::......`8
.......,8...........::::::,p`""..............""'q, ::::::.........8,
......,d'..........:::::,d'......................` b,:::::.........b,
.....,d'...........:::: d'........................`b::::::.........b,
....,d'.......q888q8b,.d......,p.......q,......,d8 p888p.....b,
....d'......d",.....;..`b,....8,.........,8.....,d '...,"b.......`b
...,8......8.`.....`.....b,.....`b,..,d'.....,d'.. .. ...'.8......8,'
....d..,.`b,............`b..a88a..a88a..d'........ ...,d'.....,p
..`q,.....`b,............8.......8.8.......8...... ......,d "...,p'
....`"Q888`b,.....`Q888P"."Q888P.Q888.'........,d' 888P