................................................................
..................................................'''''''..........
.........................''''';looc;'..'..........''''''''''''........
........................''',:oxkkkkxxdc;'''.....''''',,,,,,,''''........
..............''.......',:okOkkkkkkxxkOkdl:,...'''''',,''''''''''.......
...............''.'''';:lxkkkkdolccclloxkkkkxoc,''..'''''''''''''........
........''.....'''';lxkkxxdc,............,cxkxkxoc,'''''''...'''''.......
...........''''';lxOOOOko,.......... . .;oxxxddoc;'''''...'''.........
.........'',;cldkkkO00x;............ ......,dkkkkxxdl:,'...............
........',:ldOOOOkOOOOOo:::::::;:;,,... .........dkkkkkxkkxoc,'.'''........
.......;ldkOOO0OOkkO0Ooc;;,',,,,ccodddocl,.......,xkkkkxkkxxxxoc;''........
...',cdxxkO0OO0OO0OOd.'..............,:codl:,....dkOOkkkkOkxkxxxo:,.......
..':codxxkkOOOOOOOOOo........'............':dd:,.oOOkkkxxkkxxxxxddl;......
...,:ldxkkOOOOkkkkOo........................'cxkkOkkdoddxdododoc;.......
......',:dxkkkkkOkkkk;..............'.......'...okOkkkkkkdddl:,'..........
.........';coxxkxxxkkd,...'.......,'........,,.;xkOkkkkkkxl;'.............
............',:odxxddxd:.................''..'oOkxxxkdlc;,'''.............
................';clolcol;'................,ok0OOOxo:,'''''''''...........
..................,;:coodoc;'........';cdkkkkdl;,,''''''''''''..........
.....................';ldxxxxddddododxxxkxoc;,,'''''''''''.'''..........
........................';ldxxxxxxxddddc:,''''''''',','''...............
........'...............,:lodddolc;'.'''''''..''''''''.............
..........................';::,...................''.............
............................................................
.........................................................