.......do::;::::::::::::::::::::::::::::::::::::::::::::::::
......,d:;::::::::::::::::::::::::::::::::::::::::::::::::::
.....cl::;::::::::::::::::::::::::::::::::::::::::::::::::::
:::cl::::::::::::::::::::::::::::::::;:::::::;;;::::::::::::
;;::;;::::::::::::::::::::::::::::::;;:;::;;::;:::;;:;::::::
::::::::::::::::::::::::::::::::::::;;;c:,'',,:cc:;::;::::::
:::::::::::::::::::::::::::::::::::;;:dl. .,::;;::::::
::::::::::::::::::::::::::::::;:;:clc;. .. ;l;::::::
::::::::::::::::::::::::::::::;cc,.. 'dKK,lc::::::
::::::::::::::::::::::::::;:::l; . c0KWNo'o::::::
::::::::::::::::::::::::;:::;cl dKNWKo,o::::::
::::::::::::::::::::::::;::;:od clO0Kdoc::::::
:::::::::::::::::::::::::;;;lo0c'. .'. ,cc:lll:;::::::
:::::::::::::::::::::::::;::;cc::ccll:::lx. lc:llcc::;::::::
::::::::::::::::::::::::;;::;;:;:l:;.;;;::..l:::.''o;;::::::
::::::::::::::::::::::::;:;::::;;cl. 'o:;::::::
::::::::::::::::::::::::::::;;clcclo::cl l:::;cc:;::::::
:::::::::::::::::::;;::::::;:o,'.';o:cxl;:,. ,l::;::;:::::::
::::::::::::;::,';;::::;;:::o: ....'dc;,''.;. c;:::;;:::::::
;;::;;;;;;:;::;'.',:;;;;;;;:l: .'..'xl'...'c; clcccc:;;:::;;
ooooooooooooooolocoooooooooodx;''.,ocl,'',;o,'l..;lxoooooooo
lllllllllllllllllcllllllllllllooloolloocoodddooddollllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllll