WMMMMMMMMWWMMMMMMMWWWWWWMMMMMMMMMMMMWWWWWWWWWWWWWWNNNNNNNNNNNNNNNWWWWWWWWMMMMMMMWWWWWWWWWWNNNNNNNNNNNXXXXXXXXKKKKKKKKKKKKKKKKKKKKKKKKKK0000000000000000000000KK
WWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMWWWMMMMMWWNNXXXXXXXXNNNWWWWWMMMMMMMMMMMMMWMMWWWWWWWWNNNNNNXXXXXKKKKKKKKKKKK000000000000000000000000000000000000000000
WWWWWWWNNNNNNNNWWWWNWWWWWWWWMMMMMMMMMMMMMWWWWWWWWWMMMMWWNNXXNNWWWMMMMMMMMMMMMMMMMMMMWWWWWWWWWWNNNNXXXXXKKKKKKKK00000000000000000000000OO00OOOOOOOOOOOOOOOOOOOOO
NNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMWWWWWWWWWWNNNNXXXKKXKKKKK000000000000OOO000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
NNNNNNNXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMWWWWWWWWWWNNNNXXXKKKKKK0000000000OOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOOOOOOO
NNNNNNXXXXXXXKKKKKKXXXXXXXXXXXXXXXXXNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMWNNNNNWWWNNNXXXXXKKKK0000000OOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkOOOOOOO
XXNNNNNXXXXXXKKKKKKKKKKKXXXXXXXXXKXXXXXXXXNNNNNNNNNNNNNNNNWWWWWWWWWWWNNXXXK00Odo:;,,;coxkkkOKKXXKK0000000000OOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOO00OO
XXXXXXXXXXXXXXXKKKKKXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWNKOxooc;::,'''''.'.....''''',;lxO00OOOO00000000OOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkOOOO00000000
XXXXXXXKKKKKKKKKKKXXXXXXXXNNNNNNWWNNNNNNNNNNNNNNNNNNNNNNNWWWWWX0dcc:,'''''...................'',,:okO00000K0000000OOOOOOkkkkkkkkkkkkkkkkOOOOOO00000KKKK00000000
XXXXKKKKKKKKKKKKKKXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNWWWWNOl;,'''.'''..........................',:lxkO0000000OOOOOOOkkkkkkkkkkkkkkkkOOOOOO000000000000000000O
XXXXKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNWWWXx:'''''''..................'............',,,;cdkOOOOOOkkkkkkkkkkkkkkkkkkkkkkOO00OOOOOOOOOOOOOOOOOOOOO
XXXXXXXXXKKKXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNXx:;,',''''..''..............'.......''','......',cdkkkkkkkkkkkkkkkkkkkkkkOOkOOOOOOOOOOOOOOOOOOOOOOOkkkk
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNXXXNNNXKkc,,,''''......''''''','................''''.......'';ldkkkkkkkkkkkkkkkOOOOOOOOO0OOOOOO000OOOOOOOOkkkkkkk
XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNWWWNNNNNNXOl,''...'......''........'''............................',:oxxkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkk
NNNNNNNNNNNNWWWWWWNNNNNNNNWWNNNNNNNNNNNNWWWNNNWWWWNK:'...',,'....'..........',,,,''.....   ...','.............',cdkkOOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkk
NNNNNNNNNNNNNNNNNNNNXXXXXXNNNNNNNNNNNNNNNNNNWWWWWNXl.....''.............';;::ccc::,,'...........''...............'lkOOOOOOOkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxx
NNNWWWWWNNXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNWWWWWWWWWNx'................',:cllodddddlllcc;;'................... .......cxkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxkkkkOOOOO
XXXXXXXXXXNNXXXXXXXXXXXXXXXXXXXXXNNNNNNNWWWNNNNNNKc'.............';cloddddxxkkkkxxxxdool;;;,'.......................lkkkkkkkkkkkkkkkxxxxxxkkkkkkkOOOOOOOOOOOOOO
XXXXXXXXXXXXXXXXXXXXXNXXXXXXXXXXXXXXNNNNNNNXXXXXKd;............':lodxxxxxxxkkkkkOkkkkkxxdooll:,.....................ckOOkkkkkkkkkkkkkkkkkkkkkkOOOOOOkOOOOOOOOOO
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKK00k:'.....,;:;,;:lodddxxxxxxkkkkkOOOOOkkkkkxxddooc;,'''''',,,,'.'....'lkkkkkkkkkkkkkkkOOOOOO0000000OOOOOOOOO00000
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKK00000000d''...';lllclodddddddxxxxxxxkkkkkkkkkxxxxxxxxdddolc:;;;;,,;;;,,,,'.'ckOOOOOO000000000000000000OOOOOOOOOOOOO00OO
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKKKK0KKKc''..,;collldddddddddxxxxxkkkkkkkkkkxxxxxxxxxxxdddolccc:c:;;;;''''..cO00000000000000OO00000OOOOOOOOOOOO00000000
XXKKKKKKKKXXXXXXXXKKKXXXXXXXXXKKKKKKKKKKKKKKKK00c','',:lllloodddddddddxxxkkkkkkkkkkkkxxxxxxxxxxxxddooollcc::::......:O0000000000000O00000OOOOOOOOO0000000000000
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0c'',;;ccccclodddoododddxxxxkkkkkkkkkkkkxxxxxdxxxxxddddoolllccc,....,dO0000K0000000OO000000OOOOOO00000000OOOOOO0
KKXKKKKKKKKKKXXXXKKKKKKKKKKKKKKKKKKXXKKKKKKKKKKKl',;::::::clooodooooodddxxxkkkkkkkkkkkkkxxxxxxkkkxxxxxddoollcc;''.'o0000000000OOOOOOO00000OOOOOOOOOOOOOOOOOOOOO
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKd',,,,;,:clcclllloooddxxxxxkkxxxxxxxxxkxxxxxxxkkxkxxxxdoooolcc:''';k0000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKO:'.''',;:;;;clloodddxxxxxxxxxxxxdddddddddddxxxxxxdddddooolllc;'',lOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKkdlloc'..','.':looddddddolclllllllloooooooooooodddoooloooodooool,.';dOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
0000000000000000000000000000000000000000000OOd:,;::cc,'....;odddddolc:;;;;;,,'....',;;ccllllllllccccllloollllo,.'ckkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdccoddo:;;'...,ldxdddolccllllcc::;,''''''',,;::::::;,''.......',,,'.,:oxxxxxxxxxxxxkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOO
ddddxxxxddddddddddddddddddxxdddddddddddxxxxxolllooooo:'..';oxxxxdoool;'...........''',;:clllc:,'........',,;,,'.'';ddddddddddddddddxxxxxxkkkkkkkkkOOOOOOOOOOOOO
ooooooooooooooodddddddddddxkdddddddddddddddddlllolc:,',',;codxxxdddl:::cc:;,,;;,''',,;coxkkdo:....... ......,:,''.;lllllooooooooooooodddddddxxxxkkkkkkkkkkkkkkk
ooooooooooooooooollllloooodxdolclooooooddddddllllc:;clc;;ccooddxxxxxxddolllcc::;;;;cllodxkkkd:,'''',,,,,,''';c:'',cloooooollllllllllllllllllllooooodddooooddddd
olllllllcccccccccccccccllllllllc::cccccllloooollll:lddl:;:;clodddxxxxkxxdolc:::::clddxddxkkxdc;;,,,,;;;;;::ccc:',:llooollllllllllllllllllllllllllllllllllllllll
clllllllcc:ccc:ccccllllclolllccccccccc:cccccclllllllodxl''':lodddxxxxkkkxxddddddxkkxxxxddxkxdlclllccc:::ccllll;':llllllllllllllllllllllllllllllllllllllllllllll
:clccclllc:::cllllllclllclolllcccccccccccccclllllllodddd:,,;coooddxxxkkkkkkkkkkkkkxxxxdddxkxdollooddddddddooll;:llllllllllllllllllllllllllllllllllllllllccclccc
:::ccccccc:::;::cccclllolllllllcc:::cccccclllllcccldolodo:;:cllooddddxkkkkkxxxxxxxxxxddddxkkxdlloddddxxxxddoolcllllooollllllllllllllllllllllccccclclllllllllccc
;::::ccccc:::::;;;;;:::ccclllllcccc::::::::cccclcccloodxd::::clooooddddxdddddollloddddddxxkkxddlllodddxdddoolcllllclllolllccccclcccclclllllcccccccccccccccccccc
;:::::clllcc:::c::;;;;;;;;::cllllcc:::;;:::::::::cc:::ccc::cccclolooooooolcc:;;:clxxxxdddxkxddollcccllooolllcclllllllloollllcllccccccccclcccccccccccccccccccccc
;:::::::cccccccccc::::cccc:;cccccc:::::::;;:::::::::::::::::::cllllllllc:;,',;clol:::c:ccloolc;;:::;,;:ccc::cllllllllllllllllllccllcccccccccccccccccccccccccccc
:::::;::::cccccccc:::::cclllc;;:::::;;;;::;::;;:::::::::::;:::ccccccc:;'''',;ccllc;''...',,,,'.',,;,,,,,,;;;cllllllllllllllccllclollccccccccccccccccccccccccccc
,;::::;;;;::::cc::::;;;;;;::c:;;;;;;;;;;;;;;;;:::;:::;;:::;;:;;:::::;,'.,,,,;:::cc:;;'.........'',,,,,'.',,:ddodxddlllllcccllcccclllccccccccccccccccccccccccccc
;;:cc::;;;;;;::::;;::;;,;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;,;;;;;;;;:;;,'...';;:cccc:;,.'.....'''''....'',,cooxOO0KOolllccccccccccccccccccccccccccccccccccccccc
;;;::cc:;,;;;;;;;;;,;;;;;,,,;;,,;,,,;;;;;;;;;;;;;;;;;::::::,',,,,;;;:::::::cc:;,,,,,;;;;;,'''''''''..',,,',cccodxkkOdlccccclccccccccccccccccccccccccccccccccccc
,,,;;::::;;;;;;;;;;,,,,;;;;,,,,,,,,,,,;;;;;;;;;;;;;;;;:ccc:;',,''',,;;::::cllllllcccc:,,,'''''',;;,''',..':ccccllllolloollllccllllccccccccccccccccccccccccccccc
,,,,;:::::;;;;;;;;;;;;;,,,,;;,,,,,,,,,,,,,,,,,,;;;;,,;;;;;::;''''''''',,;;:loolllcc::::::::;;,,;;;,'....'cccccccclclclllllooocccccccccclllllccccccccccccccccccc
;;;;:::;;;;,;;;;;;;;;;:;,,,,,,;;,,,,,,,,,,,,,,,,,,,,;;;;;;::c,..'.'..''',;:clooool:;,'..''.'',,;;,''...':cccccccccc::::;;;;:::ccccccccccccllcccccccccccc::c:::c
;;;;;;;;;;;;;,;;;;;;;;;:::,,,,,,,;;,,,,,,,,,,,;;;;:::::::;;:c:;....'.''',;::cllddoool:;,',,;;::;,,'...';::::::::;;;;;;;;;;;;;;;;;;:::ccccccllcccccc:::c::::::cc
,,,,,,;;,,,,;;;;;;;;;;;;;::;,,,,,,;,;;;;;;;;;;;;;;;;;;;;,,,;cc:,'...''''',;::cllooddoooolllccc::,'....,;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;::::cccccc:::::::::::::cc
;;;;:;:;;;;;::::::::::::;;:;;;;;;;;;;;;,,,,,,,,,,,,,,,,'...'cc:;,'......'',:ccclollollllllcc::;;,'.    .';;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;::::::::::::::::::
;;;;;;;;:;:;;;;;;::;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,,,'..    'llcc:;,'.......,:::ccccccc:cc::::;;,'..      .',;;;;;;;::;:::::::;;;:;;:;;;;;::::::::;::::::;;;;;::
;;;;;;;;,,;;,;,,,,,,,,,,,,;;;,,,,,,,,,,,,,,,,,,,,,'...    .;llccc::;,'.......';;;;;;;,,,,'',''..',.        .';;;;;;;;;;;;;;;::::::::::::::::;;::::::::ccc;,,;;;
;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,......  .':llllcc:::;,,''.....................',,;;.         .,;::::c::::::::::::::::::::::::::::::::::::::;;;:
,,,,,,,,,,,,,,,,'''',,,,;,,,,,,,,,,,;;;;;;;;;,,...... .,cooollllccc:::;;,,'''..............'',,,;;:;.        ....',;::cccccc::::::;;;::;;:;;;;;;;;;;;;;;;;::;::
,,,,,,,,,,,;;;,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,........'looooollllllccc:;;,,,,''..........'',,,;;;;::,.       ..    ...',,;;::::;;;;;;;;;;;;;;;;,;;;;;;;:;;;;;::
,,,,,,,;;;;;;;;;;;;;;,;;,,;,,,;;;;;;;;;;;,,,'.........,llooooolllllllccc::;;,,''''''..''',,,,,;;;;:;,.      ...        .......',,,;;;;;,,;;,,;;,,;;;;;;;;;;;;;;
;;;;;;;;,;,,,,,,,,,,,,,;;;;;;;;;;,,,,;,'..............'clooooollllllllllcccc:,'''.''''',,,,,;;;;;;;;,'.     .            ...........',,,,,,,,,;;;;;;;;;;;:;;;;;
,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;,''..................;llooooollllllllllccc::;,''''',,,,,;;;;;;;;;;,..     .               .............'',,,;;;;;;;;;,,,,,,,;
,,,,,,,,,,,,,,;;;;;;;;;;;;;:;;;,'.......................:lllooollllllllllllcc::;;,,,,,,;;;,,;;;;;;;;,...    ...          ..   . .............',,,;;;,,,,,,,,,,,
,,,,,,,,;;;;;;;:;;:::::::;,'.............................cllollllllllllllllccc:::;;;;,,,,;;;;;;;;;;;,...        ..        ...  .. ..............',;,,,,,,,,',,,
,,;;;;;;;;;;;;;;;;;;;,,'............... ..... ...........'llloololllllllllcc::::;;;;;,,;;;;;;;;::::;.....                       .   ..............',,,,,;;;,,,,
:::::::;;::;;;;;;;,'......................... .....    ...':ooooolllllllllccc:::;;;;;;;;;;;;::::cc,......                             .  ...........,,,,,,;,,,,
::::::::::::::;;'.................................      ....'ldoooolllllllccccccc::::c:::::::ccc;.    .                       ..    .... ...... .....;;;;;;;;;;
::;;:;;;::::;'......................  ..........         .''..,lddooollloolllllllcccccccccccc:'.                             ...  ...........    ....:c:c:cc::c
:;;;;;:;::;,......................... .........           ......'loddddooooodoooooollloolool,.                             ...          . ....    ...':::c:c:::
::;;;;;:;;'................................                        .':oddooododdodddddddddl.                               ....            ...    . ..:::cccc:;
;:::;;:::'..................                 ...                       .,looooooodoodddxdc.                                 ..       ......  ...     .,:::c::::
;;;;;:::,...............                   ....                          .';lolllolloodd:.                                         ..      .....     ..::cc:::c
;:::;::,.........   .. ...                 ..    ..                         .'ccllclllo:.                                                      ..     .,::::;:c
;;;;;;,.. ....... .......              ...       ...                          ..;clccl:.                                                              ..;;;;;;:
;;;;,'.    .....  .  ....   ..        ......    .....                       .  . .ll::'                                                               ..;;;,,,,
;;;;'.      ....      ...    .           .      ......                        .   .;;'...                                      .. .                    .';;,,;;
;;;,.        ..      ...      .     .      .    ........                           .... .                                         .                    ..;;;;;;
,,,.                  ...    .                   .......                             .                                          ..                     ..;;;;;;
;;'.              .  ..                       ....  .....                           .                                             .                     .,,;;;;
;;.            .                           .  ....     . .                                                                                              .,;;;;: