____*##########*_____________
__*##############___________
__################__________
_##################_________**####*
__##################_____*##########
__##################___*#############
___#################*_###############*
____#################################*
______###############################
_______#############################*
________*##########################
__________########################
___________*####################*
____________*##################
_____________*###############
_______________#############
________________##########
________________*#######*
_________________######
__________________####
__________________###
___________________#
...................................,,---~~"""""~~--,,
..............................,-~"";;;;;;;;;;;;;;;;;;;;;;;;'''-,,
.........................,-''?;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'',
......................,/';;;;;;;;;;;;;;___;;;;;;;;;;;;;;;;;;;;;;;;;;;',
...................,-'';;;;;;;;;;-~''''''. . . .'''~-,;;;;;;;;;;;;;;;;;;;;;;;;''-,
..................|';;;;;;;;;;-'. . . iiiiiiiii. . . . .'';;;;;;;;;;;;;;;;;;;;;;;;'-,
............___,l____,-'. . . . .||||||||||. . . . . . ;;;;;;;;;;;;;;;;;;;;;;;;;'-,
.._,,--~''''';;;;;;;;;;;;;;;;??"""~-lllllllll||||||. . . . .'|;;;;;;;;;;;;;;;;;;;;;;;;;;;'-,
,/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;?'''~--,,,|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''-,,
|;;;;;;;;;;;;;;;;;;;;;;;;;;__,,,,,,,,,,,,--------,,,,___?'''~--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''~~-,,
';;;;;;;;;;;;;;;;;;;,~|||||||||ii,,................,-iii|||||||ii,,~--,,,''~-,,;;;;;;;;;;;;;;;;;;;;;;;;;;;''~,
..''-,_;;;;;;;;;;;;/'/|l''.......'''-l||i,.........../|ll'''???'''~ii||,....?''--,''~-;;;;;;;;;;;;;;;;;;;;;;;;;;;'
......''~~------|.'''..............''ll''......../l'...............''l|-........|''~-,'-,;;;;;;;;;;;;;;;;;;;;;;;;'
.................'|...,,--~~-,..................,,--~~-,,..............|;;;;;;''~-,;;;;;;;;;;;;;;;;;;;;;',
.................,l-'~-,. . . . '',............,-'-~-,. . . .''............|;;;;;;;;;;;''',;;;;;;;;;;;;;;;;;;;'|
.................|||';;;;;'|, . . . .'|...........|||';;;;;'|, . . . '|..........|';;;;;;;;;;;;;;;''-,_;;;;;;;;;;;;;;/
................||||O|||;:|. . . . .'|..........||||O|||;:|. . . . '|.........|;;;;;;;;;;;;;_,,,--,,'_--,,,,--,'
................'|||||||||||;|. . . . ,l..........|||||||||||;|. . . . ,l.........|;;;;;;;;;,-'''...........''~,;;;/
.................,||||||;-'_ . . .,/...........'|l|l|||l'. . . . ./.........|';;;;;;;;;/..................|;|
..,.........,,--'''..........?'''~'-,.............'-,,_. . ,,~'............,_,-''/'..........,-........|'|
.|||i......,-'........................................??...........,,-..............--,,,-''........./;'-,
.'|||||i,,/'.....................................................,,i|||i'............................./''~''''
..|||||||'................................i||i,............_,,iii|||||||i...........................,-''
..||||||'..............................,ii||||||||||iiiiiiiiiii||||||||||||||i'..................,.....,,,-''
...'|||||,...........................,i||||||||||||||||||||||||||||||||||||i'..................,,--''-~';;;;,
....'|||i,......................,-i||||||||||||||||||||||||||||||||||||l'.................,-'';;;;;;;;;;;;;;;'|
......''-i||||-,,_........._,-iiil''?''lll|||||||||||||||||||||||lll'''?................,/'?;;;;;;;;;;;;~---
...........'''==iiiiiiiiiiiii='.........?"""""""?.......................,/;;;;;;;;;;;;;;;,|
.............................''..................................,/''~~-?''~--,,~'
..................................'|................................,/':::::::::::::::::?'''~--,,
...................................'|.............................,/'::::::::::::::::::::::,,----'''~-,
..............................,,-~''''.........................,/''::::::::::::::::::::,-''?;;;;;;;;;;;;,
...............................,/'::::::::'....................,-''::::::::::::::::::::::/';;;;;;;;;;;;;;;;;;;'',
...........................|'::::::::::::'-,_............,,-|:::::::::::::::::::::::/;;;;;;;;;;;;;;;;;;;;;;;;;
...........................|::::::::::::::::,'--,,,,--~''';;;|::::::::::::::::::::::/;;;;;;;;;;;;;;;;;;;;;;;;;;;