...........................,d888888888b,
.........................,dP"'................`"Qb,
...............,d88buP"......................."Qud88b,
.............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,......,d8p888p.....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"'
................"Q88P".........................."Q88P