.................................................''''''''''',,''''''''''................ ..''''''''',,,,''...............................         ..   .
...................................'.............''...'''''',,,'''''''''............... ...'''''''''''''.................................              .
....................................................'''''''''''''''''''.... ...............''''''''....................................       .. ...   .
..........'.........................................',..'''''''....''',..................................'...........................................  .
''........................................................'''.....''',' ',........................................................................... ..
'''''''''''''''''''''..............................................'''..,'..............................................................................
'''''''''''''',,,''''''...........................................''''.',...............................................................................
....''''''''''''''''''''..........................'....................',..'.........................................................'''...'............
''................'............................................'.......'.................. .................................... ...'''''................
''.....................................................................'.................. ...................................................'.'.......
'......................................................................................... .............................................................
.......................................................................................... ..........'..................................................
.....'................................................................. ......................'''''''''''''...''''.................................... .
.................................................''.......''''''''''.;'.'................. ..'''',,,,,,,,,.....'........................................
........................................................'',,;coollclcl;..'.'..................',,;;;,,,,,,..............................................
........................................................',coooodddxxddxdoolc;..,..''.......;'....',,,',,,,............................................ .
...............''''''''..............................'.':oooooooooddooolloodxdol:;,'.....k'd;....',,,,,''...................................''..........
..........'''''''''''''''''''''.......................,loddooooollc::::ccccllloodxxdlc;',l,d,;.,,,,,,'......'...............................'''.........
'''''''''''''''''''''''''''.......'''................;olc:c::;,'.......'',;;::ccllodddxkdc:,..',,,''...................   .............. .....''........
'''''''''''''''''''.................................ccc:;,...................',,;;:cclloooddol::'.......'..............  ..................'............
,'''''''''''''....................................,c:;,,''....''',,,;;;,,''.....''',,,;;;;:::;,;:,.........................................'''..........
''''''''''',:,'..................................;:;;'....',;:ccclllllccccc::;,.....''',,,,,:cc;';;'..............................'.......'..,'.........
.........'''''''...............................';;,,'...';loododdddoddooooooooll:'.....'''''',:c;,:;.....................................,,'',......'...
..............................................;;,,'...',cldddxddollllloodxkkxdolc:,........''',;;,,;,....................................':,;'.........c
,'''......................................'''',,;;cloolclodooddddxxdxxxkkOOOOOkxxddoc'.........',,,,,,...............................',.';c::'','''..,,,
;;,,,'.........'.......................'''';:oxkOkkxdlcclccxxoccclooloddxxxxxddolloooo;'........''',','......'.'.......'..'.''.'..,.,c:cc:::,;;,,'';::;;
,'',,,.''.............................'';coddoollllcc::cc;oc;;:,,;:::cloodddoolc:::;;:,,,.......''''''......................';..;;;:cl:;:;;',;;,,:lllllc
,,',,''''............''',,'',,''''''''coollc:::;:;;,,,;c,;l;cd'....c,:clooooolc:;...':d:,,'.....''',;c:'....................:,cc:;;::;.....,,,';ldxO0kdd
..''''''..''...........'',',,,','',;;llc::::::cccc:;,,,c.clllxo;,,c:;cloddddddlc:;..'cxxc',,',;;;;;;::cc,............'......';:lllc:,'''''''';cldxOKKOxd
..........................'.'''''',:c:;:::cccclllllc;clc'ccooooooooooolccllllccloodoooolc;;;cccccc::::;:c'...........'.....,:lcccccc''',,,,,clooodxkOOkd
............................''''.':;;:::cclllcccccc::c:;'::looddoooooolc:;;;;:cloooooodl,ccccllllllcc::;;;................;lcol:ccc:;,,,,;coooddddx00K00
............... .............''''';;cc:ccllllccccc:;,....:,:cccccc:::;;;;,,,,,;;:::ccll:,;:ccclcllllccc:;;,'.........'',,,,,,:::ccl::;,;l0XK0kxxxddxxxdo
... .......   ......... ......,'',;clc:ccllllllllc:'...  ....,:::::;;;;;;,,,,;;;;;;;,,,',':clllllolllccc:;;,..'..';;;;,'''''',:;::c:,':cd0OO0XOkkxxdoolc
           .  .......... .....'.',:llcc:cccccclllc;..    ......',;;;;;;;:::;;;;,'........;llllllllllccll:;;;,,,:::;,''....''',,;;;''';::coxxO0KK0Oxdolc:
           .. .................'',clc:::cc:,;;:cc;...    ..  ....;::::::::::;:;..........;llccccclllllolc;:cc:;;,'.......'''',,;'.'',,;:clodxkKXKK0Oc::;
   ..        ...................',coc::::;.....,'....   .........;:ccclccl::;:;..........':;;:,:ccccclooc;:;:;'..........'''','..''',,,;;:cloodkkxxd::;,
........... ....................'';ooc::::.....    ....'',.......;::;ldool,,,,;'...  ..........'::ccclll;;;,,''..........''''...''.'',,,;;;::::cc:::;;,,
...................................llclcc'...     . ..,''........;cc:coddl;;::c;... ...... ....,:::clll:,'............''..'..''.'..'',',,,;;;;;;;,,,,,'.
...................................',,;;'......   ....''........':llcldxxl:cclod;'........ .....:cllll;'''...'........'.....'''......''',,,,,,,,,,,,,''.
..........................  ......  ..   ...''........''....':cldddoloxxxdlloxxxdxlc:,..'........;:;:;'..'..'.'...''..........'........''',''''''''''''.
................ .....      ......   ....''..............';coodddxxxxxxkxxkxddddddooodc;,,.......,,''''....''''''..''......'''.........'..'...''''''....
.................           ...... ....''...........',oooldolccldddxxxxddooooolc:;:lodx0Oxoc,...'''''''''''',',,''.........'''.................''.......
..........  ...              ........''''...........',docllloolldddddddooooolllccllc:lcddxd:,.'''...'',,,;c:cc,,''......'..'''..........................
.....         . .        ..  ......,,'.'............',ollcccclolooddddoloollllccc:;;;;:cclcxd;,'...'',:::lddxKd''........''..'....................'.....
..........................   .....,;,'..............';::clllllolooooddollllcll::::::cc:,:::ll:.......,,;;;:;;;;..'''..'...''.''.................',,,,'''
....................................'...............',,;;,;clllclloooolllllccc:c:::;''',;,,;cd;'.....''.........'.'.'......'....................'',;;.''
....................................................';';,'.,:clccloooollllcc::;;;,',..';;',,:od'......'';;'..''.'...'....'..''...................';c;';;
.. .............'........................,,....'....;,',,...,;ccccloollllc:::;;,''',..';'',,;:od:....''''',:''''............,..'..........'.....,''.....
.. ...........,;'........................;:.'.....'::,'',',,,:ccllooollllc:::;;;,;:,'';'.,'',;col,.'''''.';oc..............';,'..'.',;;;;;:c::c:;;,'',,,
...............................''.....''',,',,,;;;::,''..,:,'cllooooolllllooclcc::;;;;;;''.,;,;;ld,,.'.'',;,;:........c..'..'c:cc:::llooooooddxkdd...lod
..............................'''''..'''''''',,,,;c:;,'..,;',looooooolllcllollooloo',,,,'',',;,;cdxl,,;;;ld,,:c.....,';:,;c,;:clcclclllldododddxdd,..coo
............................'...............''''cocc:::::''':lolooodolllclcloolclod'''.....',;:cccoxxccc:lOx;',''...':;:c:c::clllclllllloldoddddddc..cdc
...........................................'''':ccc:;,',;,',olcclllcccllccllodxdxdl,''''''',;::cclddxxcc::ldO;'.'..'';::c:c:::cclcocllclllooododool..;:;
.....'.....................................''';cc:;,'''','':;,,'........'''',;;;:::.;;;;;;;,,;:::::cldddlokOO:'.,,,,;;:;;:,;:;c:lcc::cc:c:lloollllc'..;c
..'''................'.....'''''''......''''';::::;,''''''';cc:;;:;;;;;,,;;;;::;;cx;,,,,',,'',,;;;:::cod;,,;cc;.,;;;;;::::;;;;:;:;;;;::;;;;;;;,;,,,'..,,
'''....'..'.............................'''',l::;,,',;,''':koc:llc:::cc:;;:clooloxd:''''......,,;;;;;:clo,'''...........................................
...........................................'cc:;,,,::;'...':odcllolllolocloc:,,;c:loc.........',,,;;,;:ol,..............................................
............................................lo::;,''.',....,,,''.''....'''''''',,:odc;.........',,,,,;coo,...... ... ...................................
.......................    .     .   ......'ldl::l:;'';'...;'...............',;;:okdo:,.........,;;;;cllo;.......     . ................'.......    ....
...........................................cookl;,ldo';;...c;,'','..''....,',:;:ldodxo,'........,::;clcloc....    ....  .......................        .
.......      ..       .   .            ....ccc:lloccl,','.'c::;,;;,,,,'',;;,,;::::cllld,'.......,',:lccocl:.. .                    .....  ......  ......
...........................................oddoodOoc..''''cc:;::;,,,,,,;;,,,,,;:::::lOOc,'......',:l:::cl:'...........................................  
    ..     .    ..........................,loooloo:;....'loccccc::;;,,;;;;;,;;;::;cdxkooc,'......;cc:::col..............................................
   .. .   .   ....... .....          .....;;ccc:;,,.....colccccc:::;;;;;:;;;;;;:::lollxkOc,,.....lolllc:lo'.............................................
  ...................     ..            ..;',;;,',,....:olcccccccc::;;;::;;;;;::::cloodkOx;;,....cccc:;,;c;.............................................
..........................................;'.,,,':'...:olllcccccccc::::;;;;;;;:::cccllodkklc:'...;;;,''.';,.......................... ......   ....     
..........................................;,';,,'dc..;olcllcccc:c:::::;;;;;;;:::::::lllldxool'...,''''...,,................                           ..
.  ............................  .........,,c;c;;;o,.lllcllccccc::::;;;;;;;;:::::;::cllllooc;...'''..''..,'.......'..............           .....     ..
..      ...    .........        ...........;:l;ckc'''lllcclcccccc:::;;;;;;:::::::;:cclllcco,'....'''::,'.,.........               ........ .............
..................    .. ........    ......',cl,:oc,;llccccccccccc:::;;::::;;::::;:::lccccc,....';,'.','.......   ...... ...............  ..............
   ...... ........  ...........................'...':ccccccccccccc:::::::;:;;;:::;;::c:::cc;.......'',.....          ......................   ..........
. ........   ......  ...............................cccccccccccccc:::;;;;;;;;;;;;;;:::,;;:lc'....''....      .... ......................................
.     ......   .....................................cccccccccccc::::;;;;;;;;;;;;;;;;;:;,,,co,.........  .......................... .....................
...................................................,::::::cccc::::::;;;;;;;;;;;;;;;;;,:;,,,:;.... ......................................................
  ..  .............................................;::::::::::::::::;;;;;,,,,,,;;;;;,,;;,'','.......  ..................................................
    ...............   .. ........   ...  .........':::c::::::::::::;;;;;,,,,,;,;;;;;,,,,,;co:... ................ ......................................
  ......   .. .......      .....     ......''......,;::::cc::::::;;;,,,;;;;;;;;;;;,,,,,;:lodx'..........................................   ..........  .
   ...... .............        .......''.............;:::::::::::;;;;;;;;;;;;;;;,,,',,::;;:co;..........................................................
..  ..... ....... ......   ..........................';;:::::::::;;;;;,,;,,;;;,,'.''''''',;ldl................  ........................................
..                   .......................  .......,:,'',,,;;::::;;;,,''........,,'''',,;cod.....................   ...........            ...........
.    ....        .....................      ......',;lol:;;,,,;;:ddl;,'............;;,',;::lod:......  ....    .........   ...........               ...
.      ..........................      .........,ldxdolllccc:codcOK0k,.............::::ccldkkOk;''....... ....     ...........   ............           
       ....................      ........''''';cllclolodxkkkkkkOkkNNK;.....    ...,ccccclloxkKXXOo,'.......  .....       .......        ..........      
   .................................''''',;loxxddoocccccoxkkkk000d00d.....   ....'lloooddxOO0KNNNN0o,.........   .....           ....         ......... 
......................................':ldOOOOOkkxdolcccoxkOOOKK0kxdl...    ....'codoollllldk0XXNXK0d;,........  ..   ......         ......          ...
.....................................'ck0XXNNXK0kxdollodxO00XNKOxl:;.............loocclcllodk0KXWWWWNkl;,.....................................          
......................................,;:ccloooolc::::cclodxkko:'.....        ..;dxdlllloodxO0KXXNNNXWWKd;....            ...................           
.....................................................................        ...dxxxxdddxxxk0KNWWNNWMWNXXK:.......                                .  ...
..................................................................     .........,;::cclloddxkO0000KXNXOo:,'....                        .................
..................................................................         .............,;::::::;;;:lo;.....                           .................
.....................................................................       .           ..................                 .............................
...................................................................                      .......  ..      ..............................................
.....................................................................                      .............................................................
.......................................................................          .......................................................................
........................................................................................................................................................
......................................................................'....................................................'..''''....''''..............
......................................................................'''''........................................',''''''''''''''.....................
.........................................................................'','....    ...............................'''..............................   
...........................................................................',,'............................................  ..............      .......
.............................................................................',,,'........................      .............          .................
.............................................................................'',,,'..........               .........           ........................