………………………..,,--~~""""¯¯¯¯¯¯¯""~-,,
……………………...l'…………………………..''~,,
………………………'|…….,,----,,…………………..''~-,
……………………….''-,,-''¯……..¯''-,_,,,_………………''-,
………………………../'……--~--,,…...'-,..''~,………………'-,_
……………………….|….../';;;;;;;;;;;-,,….''-,…'………….--~"",,-'~--------,
……………………….|…..|;;;;;;;;;;;;;;;;;''-,….'.,……………..-'…,,-''…_….'|,..……………………………………,,--~~,'',-'"….__,,,---,,-~~''''''¯¯…_____,,,,,,,,,,,,,,,,,
……………………….'|…..|;;;;;;;;;;;;;;;;;;;;;''-,….'-,………….,,-'…,,-'';;;'|…,|……………………………_,,--~"'¯:,,-~",,,--~"":::::::,-'''----~~~""""'':::::::::::::::::::::::::::
--,,,__…………………'|.....|;;;;;;;;;;;;;;;;;;;;;;;;'-,….'¯""'-,-''¯¯'….,-';;;;;;;;|.../……………………._,,--~"…..,--~"-~""¯:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::"""~~----,,,_……'|....'|;;;;;;;;;;;;;;;;;;;;;;;'¯.''-,…….'\…..,/''''|;;;;;;;;;|'.,/…………….._,,--~"':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
''"~---,,,__:::::::::::::""~~-'--,,,\;;;;;;;;;;;;;;;;;;;;|. ._)¯\,…….',-'|';¯¯;;;;;;;;/'.,/……….._,,--''':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::¯"~--;;;;;;;;;;;;'\,|;;,--,;¯''~~';|,l;,-~-;;;;;/'.,/….._,,--'''':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<
::::::::::::::::::::::::::::::::::::::::::::::::::::""~~-;;;;;;;'---';;;;-~""""~~--;;;/.,/_,,--'':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::""~-;;|':::::::::::::::::::''-',::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::--=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::""--,,:::::::::: . . . ''-,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'|:::::::::::. . . . '\,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'|::::::::::::::. . . .'\,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::___,,,'|:::::::::::::::.....::|'-----~~,-~~~~~~~-----,,,,,___:::::::::::::::::-,,,_::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::__,,,---~~~""""………'\::::::::::::::::::::/''~~,....|'……………………….¯"""~~--,,,,__::::""~-,~---,,::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::_,,,--~"""….._,,,----~~~--,,,-~""""'-,::::::::::::::,/'. . . .|_,/………………………………………..¯¯''''~--,,'''~-,,,¯""~--,,_:::::::::::::::::::::::
:::::::::::::::,,-:::::::::::_,,-,~"'. . . . . ¯""\'''. . . . . . . . . . .'|. . . . . ¯"~~----i" . . . . .|MWG..……………………………………………..¯""~~~……..¯"~~--,,_:::::::::
::_,,---~""-'':::::_,--~''. . . | . . . . . . . . . '| . . . . . . . . . . .| . . . . . . . . . .|' . . . . .,|
'';;;;;;;-~"_,,-~''.|;;| . . . . .'| . . . . . . . . . | . . . . . . . . . . |'| . . . . . . . . ./' . . . . .,l''\,
;;;;:,,-,~''……..|';;| . . . . . '\ . . . . . . . . '| . . . . . . . . . . |;'| . . . . . . . ./ . . . . ,-''….'\,
;~''':::::|……….|;;'-, . . . . . .'\, . . . . . .,/'\, . . . . . . . . ./;;;\,_____,,,-'---,,-~"¯..''|,….¯-,
::::::::/………..|;;;;;;'~~===''¯''~------~';;;;;''~--,,___,,--''--,_,,-~"" . . . '\|' . . . . . . |……..'\
:::::,|'………….|;;;;;-'''¯ . . . . ¯"-,,-~""""~|' . . . . . . . . . . '| . . . . . . . .| . . . . . . '|………'|
::::|'……………'\;;;| . . . . . . . .,| . . . . . | . . . . . . . . . . . | . . . . . . . .'| . . . ___,|,,,,----~'-----,,,,_
::::|……………...'\| . . . . . . . . | . . . . . | . . . . . . . . . . . .| . . _,,,--~"""¯¯¯………………………¯"~-,
::::|………………..'\ . . . . . . . .| . . . . . | . . . . . . . . . _,,-'-''¯…………………………………………..,l
::::|………………….'\, . . . . . . | . . . . . ,'-,,_ . ._,,-~""………………………___,,,,,,--……………,,-''
::::'|……………………''-,-~~~'''¯""~~""¯:_,,~""……………………__,,--~"""…………………..,,-i''
:::::'|,……………………..''~-,,,,,----~~""…………………__,,---~""………………………………..|
:::::::'|………………………………………………._,,--~""………………………………………….|
::::::::'\………………-,……………………_,,,--''''…………………………………………………...|,,,_
::::::::::'\……………….''~--,,,____,,,--~''''………………………………………………………….,/;;;;;;''~--,,