.........................................................'''''''''',,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;,;;;;;
...... .........................................''''''''''',,,,,,,,,,,,,,;;;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;
. ............................'''''',''''''',,,,,,,,,;;;;;;;;;;;;;;;:::::::::::::::::::::::
.....................'''''''''''',,,,,,,,,,;;;;;;;;;;;::::::::::::::::ccccccccccc:c:::c
....... ..........'.',''''''''''.',,,'.,,,;;;;;::::::::ccccc::::::::clllllllllllllllllclll
.... ..........................,.......'.,..;,'......'......',;;,;,,,::c;c;;lloool::::::ccclxxxxxxxxxxxxxxxxdxxxx
.. .... . . .... ...... ..........'.....'',','':,''''''.'..''',,,,..;cc',colollooodddooodxdddoxOOOOOOOkkkkxxxkOkddol
...................................',,,.'';,;::::,'',,.',;;,'',:::',,cc':,loooddlddxxxxxxkkkkddO000kxxdoooolooxxokkoo
.. ................. .........'.. ...';;'.''';,,;,'...',;;;:::::;';':llollol;;clll;ldxxkkkkkkOxdx000OddolooodoodkkOkddd
................. ..........................''''''''',.,.'',,:,.......';::::ccccl:cloooodolcoddddxxxxkkkkkkOkddk00Oxddlooooooddooooool
..... .... .............''.'''''.,,,,,,;;;;;;''.......... ......:ccccllllooodddddddccoxdddddxxxxkkkxxxodO00kdddloddxokkxdlloood
.... ... .......................'.'''''',,,.'.............'..;ccclllllllooddxxxxxolllllllllllooxoooooxOOxdodollooollllllollll
.. .. ... ......... .. ..............'...c:,;,';;,...'..';:lllc:::;;;::looddxdooodddooooooooddooddk0kdooooolllooollllllllo
....... ... .......'. .. .......llll;,:oddddl,,;;:lllc'.,cll,,':,cddl,,'cdxdooooddddddddk0Oddddooodoolllloolloooo
''....... .... ............ ...... . .. ..c:;:lclllllok:',;cooooc.;loo;,,:;.:d,,;.;c;;;lxxxddddxxxxK0000OkxxKKOxddllllc:cld
'''''............................... ........... .;:;:lcc::c;:x;..',codol:.;::;o;c:;,'.c;..'ldxdxkkdkkxxk0KKXKKKKK0Oxxkxoc;:;'',;ld
''''''................................. ......... ....;:clclocloxdx:',,,'coddl.:oood:c,:l..o:.,:,,coxdxkkkkOKKKXKKKKKK0x:::'''',,,:cdxk
'''''''.................................. ....'''...;,,,;::;,''',::c'',';;;oddo:cooooco:oo:colcoddl;;dxxkkk0KKKKXXXKKKKOxc,,:::;;::ok0k0
''''''''..........................................',,,;;;;;;;::::::::::::cc:::loddddooooooodddo'kxxxxxxxxxxxxxxk0KKKKKKKKKKKKKKOl',:coxOKKKkO
,,'',''''.............................'''''''''',,,,;,;;;;,,'.;:ccccccccloooooddddddolooooodo,,.;cokxxkkkkkOO00000KKKKKKKKKKKKKKK0KKKKKKKKK0x
,'',,,''''...........................'''''''.''','.'',;;;',;::ccccccllllooooodddddddol;cooooodd:ldddddOO0000000000KKKKKKKKKKKKKKKK0KKKKKKKKKO
;,,,,,,'''............................'''''''','',.,;,,,.;::::ccccccllllooooddddddddlc.:l::coc'cooooodddddxkOOkkOO0000000000000Odxxxxxxxxxxxx
,,,,,,,''''''........................'''''',,',,,,,'.'',,,,;;;;:;;:cllllooolodddddoolc.;,:c.l:,lol,','cooc:cddddddxkOO0000000000OOO00000Okxdd
.........'.........................''.'''',,,,,,.''',;;;;::;,,;;;,,;:;ccc:cloddddooolc..lc;,l'col,:o:..,..:.;l:;coodkOkdxOOOOOOOklccoddddxkOO
...................................''.'''',,,,,,,,,,'',;;,,;::,;ccc;::;:cclollooooolc;.,;,:l;.,,;',c;.,.loc.cllooodxkk:docxkkkxooc:coxkkkkkkk
............... .......................'''''',,,,,,,;,'.;::c;:ccc,clcll::c:c,cooollccclllllc;;:c:''.cc,:;,:lddxxxkkkx;kkdcldclxxddddooodkdxk
..............................................'.....',,;:::::cccc::cllll:llllclooolodddddool:cdc',l;:lllccloxxxxxxxxxx,odoo:;coodxxxxxxo;::ll
............... ........... .......,;... ....:ddolooc:::ccccccllllllooooooddddoolcc:odlo;clllllodxxxxxxxdddddloodxxxxxxxxxxxlcccddd
.............. ....... ..';lo:..... .....:kkkx:kk;''',,;;:cccccllllloodddddoolcc;ll;cllc;;cclodxxxxxxdxxdxddxxxxxxxxxxxcld;oddl