oooooooooddddddddddddoollllllllllllccccoxxx:'''''''. ...'.................'''.''
xxxxxxxkkkkkOOkkkkkkkkxxxxxxxxxxkkxdooodxxd,....'''. .''''''.............';:::;;
xkkkkkkkkkkOOOOOOOkkkkkkkkkxxxkkkOkxddddxxd:'....... .....................',;,',
xxxkkkkkkkkOOOOO0OOkkkkkkkkkkkkOO0Okkxddxxdc::;;,,'. .....,;;;;;;::::::::::c;:ll
lccdkkkkOOOOOO00OOOkkkkkkkkkkkkkOkkdooddxxxxxxddddd. :dddddkkkkkkxxxxxxdddddlccc
c..cxdddxxxdxxkkkxkkxxxxxxxxxxxxxddolc;;;;::::ccccc..,clcclxxxxxxxxxddoooooolllc
olloooooooooooooooddooooooooooooolllc:;,.....'cdxxxxddo,.....,cc:,'....:oollllll
dddddddddddddddddddddddddddxxxxddddddddd'...':;clodddol:c;''.::::::;;;,;clllcc:;
dddddddddddddddxdxxxxxxxxxxxxxxxxxxxxxxl..,lccc:,;ll:;colld:.cdddddddoooooooooll
oodddddddddxxxxxxxxxxkkkkkkkOkkOkkkkkkxo'';;,';' .;;. ;:,;cc;oddddddddddddddddoo
      ........':ldxkkkkkkkOkkkkkkkOOkkxxoc:,...,.....''..,:coxxxxxxddddddddddddd
...........':lodxxxxddxddxdddddkkxxkkxddxlccloc'. ....'lolccdkxxxxxxxxxxxxxxxxxd
.......',;cllodddddxdolclllcooodkxddxxooxdl;''....;;...,,;ldxxkkkkkkkkkkkkkxxxxx
..'',;:c::::oddddddol:;,,:ccccclddddddoodxdol:;:ckOOkxxxkxddxkkkkkkkkkkkkkkkkkkx
...'''''...'cc::::::;,'...;;;:;:loloxoododddlllc:;;,,:x0OlcdkOOOOOOOOOOOOkkkOkkk
 .  ...    .....':c,''....''','':::coloxxdoool:,'.....'co';:odkOOOOOOOOOOO0OOOOO
...............,cloOKKKOxd:''...'';:cccdlcllcc:,...     lkdxkO0K0XNKKKKK000000KK
..................oO00KXXX0:'.....'',',lc,,;,'.....    ;xkkO00000KK00KK000KKKK00
..................''',,;::,'''........''''..........  'dkO0K00000K00KK00X000KK0K
.............''''''''''''''''''''''''''''''''''......,x0000KKKKKK00000KKK0KK0KK0
'''''.''''''''''''''''',,,'',',''''',,,,,''''''''''.'lOOOk0O00KKKK0KKKXXXXXXKKK0
...''''''''''''''''''','',''',,,,,,'''',,','''''''''''dkOOOOOO0KKKKKXKKXXKKKKK0K
''.''''''''''''''''',,,,,',,,'',,,,,,,,,',,,',''''''''';cdxkOOkO0K00K0KKKKKKKKKK