..............................,d888888888b,
.........................,dP"'................`"Qb,
............,d88buP"............................."Qud88b,
.............dP".....8'............................`8..... "Qb
...........dP".....::8.._.:.@;.._..;@..:._..8::....."Qb
..........,8'......: P"...........` '............."Qb::.......`8,
..........dP....:::8(...........`--^--'.............)8:::.. ...Qb
..........8'......::::"Qba,.....,......,......,adP"::::.. ....`8
.........,8..........::::::,p`""..............""'q,:::: ::...........8,
........,d'..........:::::,d'......................`b,:::: :...........`b,
.......,d'...........:::: '........................`b:::: ::...........`b,
......,d'....q888q8b,......,p.......q,......,d8p888p....... `b,
.......d'..d",.....;....`b,...8,.........,8...,d'....;... ...,"b......`b
.....,8....8.`.....`.....b,.....`b,..,d'.....,d'.....'... ...'.8........8,'
..../.q,....`b,..........`b..a88a..a88a..d'...........,d'. .......,p
..`q,......`b,.............8.......8.8.......8............,d ".........,p'
....`"Q888`b,.....`Q888P"."Q888P'........,d'888P"'
.................."Q88P"........................"Q88P