NNNMMMMMMMMNNNNdyyhdhyyyyyy+:----------:::::::/oymmdhysssoso+oyy+////////oshdmdyyhy+:--.----:/:.    
NMMMMMMNNhyydddhyyhhyooo+o+:--:::-...----/oysoosyhdmdysoo+oo+sys+/::+o/:::/+yhyo+++:-----..-::-`    
MMMMNNmmNmds/:+o++sddhs+:-...--::.``..:+++oyhyyyyssyo+//+++/+shs++++osoo+//+shyo+/:---:::-----`     
MMNNNmhdNNNmy/---/shhy+-.......--:----/ssoshmdyoosso+oo+///+oossoo+//sssssyyysoo/:---------.--.     
mNNNNNNNNNNNNds+:-+so+/--..`...``./+shdhysooydyo+++/+shdmmmmmmmmmddyo+syysosyys+-.``  ``.---:-.`    
ssdmNNmNMNNNNmdhyssso++/::::----...-:sddyo+/oyyossyhddddhdhdddmNNNNmdhhhhysoo+/:..``````-------.`   
hdmNNNmNMNNNmdhhdmho///++/::-..::-...-+o++//+shhhhhhhyyyhhdddmNMMMNNmNNmmNmds/:::----..-:/:-----.`  
NNNNmmmNNNNmmmddddys+:-.......-::-----:--///shhyyyhhhddmmmmNNNNMMMMNNNNNNNNNmho//:::-.-://:-..--.`  
NNNddhdmNNmmmmddho/////-....``.---::::///++yhyyhyhddmmNNNNNNNNNMMMNmmNNmmmmNNNms/:::--:+ss/-.....`  
NNNmdhyydmNNdyydy/---::-....`...`.-://///ohyydddmmmmmmmNNNmddmNNNNNddmNNmdmmmmNmy/:::/+shhs+:-.`````
MMMNNmdhhdNNmhhho:::.............---:/:/oyhdmmmmmmmdddmmmddmmddmdmmmdddmNNmdmmmmds:-:/osyhh+:--.``.-
MNNNMMMNNmmNNNmdo:---````.....-----:/+++ymmNNNNdddyydddhhyo++++ooosssssydmmmddmddy+::/++//+:...--:--
MMNMMMMNNNNNmhyhy+:::.```...--//::+oooohmmddNmddhssyyhy+/::---:::::://++shdddhddhys+//+///:-..--::-.
MMMMNNNNNNNNmhsyy++oo/-.``.-//:/oyo//ohddy+/shhhssssyo/:-----------:::/+oshhhsyhsy+o//:---....-:::-.
MMMNNmNNNNNNNNmdyoss+:-......../so++ohdys+//+sysosos+:----...-------:://++oys/+ssy+oossso+:...-::---
MMMMNNNmddmmNNmdyyss:-.``..````.-.:oyhd++o//osyosos/:---.......-----:://++ooy::os+o+osss+:-----::---
MMMMNNNy+oyddhhhhys/``..-.....--:/+sydh:/+:+osssos/::--::::::-..----::://+ooy+./o+o:+o+/:--::--:/::-
mNNNmmmdyyhdhyyyso+-`.////:--::/ossshhd://+/+osos/:----:::-:/++:---:::///+osyo`/++o:+/:..`.....----:
hhddddddmNmmddyo++s+:+ss+/:::://+osyhdd/////osoy+:----:+yyhyysoso/:::://++oyhy`://o:+/:-.....``````.
mmmho/:/oyhyyso+ooy+/oss+:-:::::-:+shdhdo//+ooso/::---:://shssdo//::///++oshdy.-//o:///::::/:-....``
NMNmy/:-::-----/oss:-/+//+/:::::-:/yhddmmo+ossy+/::---::://+oo+/:--:+osssyydmh--//o:+/+osyhhhyo/://:
hdmdhyso+-`````..-:..--://:...`..-/syhdmmo+ooss//::---::////++/::--/hNNmdhhdNh:-//o/+//+syhddmmmmmmm
`-:/::---.....`````  ``.....````.-/ohhddNs+ssoo//::----::///:::::::oNMNhdNmmNh/-:/o/o+//+oshddmmmmmm
`  `..``` ```.`` ``  ```````` ``.::odhmdmoosso+::::----:://:::::://hNNdhmNNMNd:-:/o/o//+syydmmmdhyhd
``     `    ``````   ```  ``````.-:shhmmhossoo/:::----://+/::::::/ohNNmdmNMMNd/::/o+o+shddhhdmmmy+od
````   `     ``      ``````````...-shhmmyoyso+/:------://::-:----/+smmmmNMMNNd+://+oo/odmmdhssyy+//s
-.```  `````  `    `  ` `````````.-yyhmmooyys+/------:/::::://+sooydmmNNMMMNNms:///oo/+hmmdo.``---::
.````````` `      ````         ``.ohshmh+oyyy+/----::/os+//+o+yho+oshmNMMMMMNmy////oo//hmms.   `````
` `  `.``  ````               `.-/ydyhmy/syys//----:--:/+oosyyyyooydNMMMMMMNNmho///+o//smmy:.`      
///:---..`...---...```-/+oosssysydhdyydoossyo+/:-----::/+ooohyooydNMMMMMMMNNmdds+/:/+//+hmmdhy/.`   
mmmmddhyyhhhhhddddddhdNNNNMMNNNddmhmyyhossy+/+//::----:+oosyhsshNMMMMMMNNNmmmddyo/:/+++dmmmmmmmhysso
MNNNNNmdmmNNmdmNMMMMMMMMMMMMNNmhmmhhyshysy+//:-://::-::/+oyhydNMMMMMMMNmNmdmmdmhso:/+++dNNNNNNNNNNNN
MMNNNNNNMMNNNmNMMNNNdmmmmmNNNmdyhdhhyyhyo/:------/+++++osydmNMMMMMMMMNNNmmmmmmmhhs+:+ooydddddmmmmmmm
MNNMMMMNNNNNNNMMNdmmdmmmmmmdhysodmdhyho/:-..-----:/+osyhdmNMMMMMMMMMMNNNNmmNmNdhhso:ossyNNNNNNmmNNNN
NNMMMNNNNmmmdmmmmdmddhyssooo+/+odhhsy/----..---:://+ooooyhNMMMMMMMMMNNNNNNNNNmdhhso/+oohmNNmmmdddhhd
NNNNmhyso++///++oooo+++/////+//sdhys/-..--..-:::://++oosyhmNNNMMMMMNNMMNNNNNNmdhhs+/+soydddddddddddd
Ndyoo+++///:::////////::/++oooydhho:--..--..::::://++oosyhddhhdmmmNNNNNNMMNNNmhdys+/+sommNNNNNNNNNMN
s+//:::://:::://++///++o++++//+hhyo+/::::---//:::://+ossyyyyssyyhhhhyyssyhdmNddhso+/+somNNMMMMMMMMMM
/:--...--------::////::::::::-:y/:://+++++/:++:--::/osssyyyyyysyhyssysooooosyyhyoo+++yodNNNMMMMNNNNN
:-...`..........--::::::::-----+:.------://+os+:-::/+ooooooooosyhyyysssooooooooo+++++s+ydmNNmdhhhyys
-................------:------:::---------://+o+//:://///+++++ooosssssooo+ooo+++/++++y++o++//:------
---.---........------:-------::::::::::::::::////////////+/++++/////+++++++++++/+o+/ydo+/ossssssssso
--------.----------:::-.-:::---::::::::::::::://///////++++++///::--::::::://///+o/+ydys/ymNMNMMMMMN
----------------:::::-..+d+---------::::://///////////++++++///:::--...-----://+++o+/oyh+ohmNMMMMMMM
-------------:::::::-.-:hy:-----------:::::////////////+++++++//::--....----:/+++oo+/osyohohddmNMMMM
:-:::::::::::::::-.`.-+y+-------:::::----::::::////////+++++ooooo+/:::-..-::/+/++///++/homddmmdhhdNN
:::::::/+//::::-.`.-ooo:--:::::::////:--:/::::::::::///:-:/+ooooosssss:-::/+/:::+///+/:ohNNdMMMMMNmN
::::://+s+//:-.``.:oo:::----------://:-..:./+/::::::/::`..-://:---://+//+o/-.--/++////-:mMMmMNNNNNNN
:::://+oos+/----:::----...--::::::::://:-.:oy/:::::::```.-::/::::::::-----::--:sso+//:-:NNNmNNNNMMMM
::://++oshs/:---:-..--:///::--:::-::///:.`odyo/:::::::::...::-....-::::::----..+hso/::-:mNNNNNMMMMMM
:://++oshmy+:--:-----::---..--::://:::/.-+yddy+:--://///.``.-::::::---::::-::-`.sho/::-:hyhhdmmNNNNN
///+osyhmho/:::::--..-----:---:----://+osyyyhhs/--:////////::---...--:::::----.`-hs+:---`````.-:/oym
/+oosydhho+//:::---....--..-.-:///+/:::osssyhdd+:////////+++++/--//:::::------...oho/---           .
+osyhmhso+/:::--::-.......-/+//::::-`.-yhssyhddy/+//////////++/...::::::::/:--.``-ys/:--            
osyddy++//::---:::-.....-:::-...-:///++++osyhddms++//:///////////////:---::/:-....-o+:--            
syyso//:::-----:----.......-:::////::://++oyhdmNdo///::::::::::///+ooo+++/:---....--//--            
oo++//:-------:::---..---:/+ooo+/::::::/++osydmMmo+/::::-----:::://++oooso+//:-..----/:-            
+///:::--------:----::///++ooo+//::--::/++osydmMNo+/:::---.----:://++ooo//so++:-------:-            
////:::-----------:/+o++//++++/::---:::/++osydmMNy+/::---.....--::/+++++:.-yyo:.-:-.-.::            
/////:----/+ossosyso+//:::::::-----::://+osyhmNNmho+/:---.......-::/+//::-`.dhs///::---:`           
//://://oshmddhydho+//:::--:-.---:::://+ooyhdmNmysso//:---.....--:://++//:..ommdhy+:::--`           
/////+osyo+hhhhNdo++/:::-::::::::::://+osyhdNNmy+++o+//::-------:::/++o++/:-+MNNmhy//::--           
//++osys:.-hNyNMyo++/::::::::::::////+osydmNNds++//+oo+//:::::::///++ooo+///sMNNmmho+/:--`          
+++osy+...-NNyMMdso++////::://///++oosyhdmNmyo++////+ooo++//////++ooossoo++omNNNmmhso+/::-`         
+osyo-....sNNhNMNdsoo++++++++++ooosyyhdmmds+/+++//://+oosoooo++ooossyyyysosmNNNmmdhysoo+//-         
sys:..```-mNMdmMmmhyysssssossssyyhhhdhhs+/://+++/::://++oosssssyyyyhhhys+/yNNmddddhyyysoo+-         
o:..`````sNMMNhNdyhs+oooosssssssoo+//:::::://+++//:://+++oosssssoooo+//:::dNmmdhhhhyhyyso+`         
````````:NMMMMhdmsys+////::::--------:::::///+++//:::///+++oo++//::---::::mmmmdhhhhyyhyso`          
```````/NMMMMMdhNooso+///:::---------:::::///+++///:::///+++++///::::::::-ymmmdhhhyyyyso.           
``````-NMMMMMMdyNy+so+::/:::::------::::////++++///::::///+++++//////::::` /hddhhyyyss/.            
``````sMMMMMMMmymdooyo/:::::::::-::::://///+++++/////////++++++/////::::-   .ohhyyyo:`              
``````dMMMMMMMmmNNyshy+/::::::::::::////////+++++//////++++o++++//::::::.     .//-`                 
``````NNMMMMMMNNmMmhdds+//::::::://////////+++++++/+++++++oooo++//::::::-.                          
`````-NNMMMMMMMMmNMmmdyo+//:::///+++++++///+++++++++++ooooooooo++////::::+:                         
`````/NNMMMMMMMMMNMNNdho+//////+++++++++++++++++++++ooooooosssooo++//:::://-                        
`````/NNNNMMMMMMMNNMNdyso++++++ooo++++++++++++++++++oooossssssssoo+//:::::::-``