...........................,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