;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;###########';';;;;;';####;;;;;;;;;;;;;;;;;;;;';####;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+####;;;;###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####';;;;;;;;;;;;'###+;;;;;;;;;;;;;;;;;;;;;;
;;;;;#############'';;;;''####+'';;;;;;;;;;;;;;;;;'+####+'';;;;;;;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####';;;;;;;;;;;;#####';;;;;;;;;;;;;;;;;;;;;
;;;;;##############'';;;;+#####';;;;;;;;;;;;;;;;;;;######'';;'';+;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;#####+;;;;;;;;;;;;;;;;;;;;;
;;;;;###############;;;;;'####+';;;;;;;;;;;;;;;;;;;'####+;;'''###;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;#####';;;;;;;;;;;;;;;;;;;;;
;;;;;###############+;;;';+##+;;';;;;;;;;;;;;;;;;;';+##+;;'''####;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;'###';';;;;;;;;;;;;;;;;;;;;
;;;;;####'';;''######';;;;;;;;;;;;;;;;;;'';';;;;;;;;;;;;;;;;'####;;;;;;;;;;'';';'';;;;;'####';;''''''''';;'####';;;;;;;;;;;';;;;;;;;;;;;;;;'';;;;;;;;'';;;;;####'''';'';;;;;;;;;;;;;;;;;;;;;;'';';;;;;;;
;;;;;####'';;';;#####+;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;'####;;;;;;;;;;';'';'';;;;;'####';;;;;;;;;;;''####+;;;;;;;'';;;;;;;;;;;;;;;;;'';;;;;;;'';'';;;;;####''''''';;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;
;;;;;####'';;';''#####;;;;;;;;;;;;;;;;;'###+'';;;;;;;;;;;;;;'####;;;;;;;;;;'+##+'';;;;;'####';;''''''''''#####;'';;;;'+##';;;;;;;;;;;;;;;+#+';;;;'+#+'';;;;;####'''+#+';;;;;;;;;;;;;;;;;;;'+##';';;;;;;;
;;;;;####'';;;;;;#####;;';####';;;;;'+#########+;;';####;;+##########';'+#########''';;'####';;;;;;;;;;'+####';;;;;'#######+;';;;;###+''######;'+######;;';;####'#######;;';;'####'';;;''#######+'';;;;;
;;;;;####'';;;;''+####''';####';;;;;############;;';####;;+##########';'###########;;;;'####';;;;;;;;;''#####;;;;'+##########';;;;####'#######''#######+';;;############+'';;'####'';;;+#########+';;;;;
;;;;;####'';;;;;;'####';';####';;';#############;'';####';+##########;;'###########'';;'####';;;;;;;'';#####;;;;;'###########+;;;;######################;';;#############;;;;'####'';;'###########';';;;
;;;;;####'';;;;;;'####+;';####';;;'#############;'';####;;+##########;;;############;;;'####';;;;;;;';+####+;;;;;#############;';;######################';;;#############+;;;'####'';;#####+''#####';;;;
;;;;;####'';;;;;;;####+;';####';;'#####';';'####;'';####;;'''####''';;;;#';;';;+####;;;'####';;;;;;;;'#####';;;;'####+;''+####+;;;#####+';+#####+;;+####';;;#####''''#####';;'####'';;####'''''####'';;;
;;;;;####';;;;;;;;####+;';####';;;####+;;;;'####;'';####;;;;'####;;;;;;;;;;;;;''####;;;'####;;;;;;;;;+####+;;;''+####;;;;;#####;;;#####;;;;#####';;;####';;;####+';;;+####';;'####''''####'';;'####;;;;;
;;;;;####';;;;;;;;####+;';####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;;;;;;;;####;;;'####;;;;;;;;'#####;;;;;'#####';;;'+####;;;####';;;;####+;;;;####+;;;####';;;;'####';;'####'''+###+;;;;;+###';;;;
;;;;;####';;;;;;;;####+'';####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;;;;;;''####;;;'####;;;;;;;;#####';;;;;'####+';;;;'####';;####';;;;####';;;;####+';;####';;;;;####';;'####';'####+;;;;;+###'';;;
;;;;;####';;;;;';'####';;;####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;'##########;;;'####;;;;;;''#####';;;;;;####';;;;;'####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;';##############';;;;
;;;;;####';;;;;'''####';;;####';;+####;;;;;'####;'';####;;;;'####;;;;;;;+###########;;;'####;;;;;''#####;;;;;;;;####';;;;''####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;';##############;;;;;
;;;;;####';;;;;''#####;;;;####';;+####';;;;'####;';;####;;;;'####;;;;;;#######++####;;;'####;;;;;'+####+;;;;;;';####';;;;;'####';;####';;;;####';;;;+###+;;;####'';;';####';;'####;;'##############;;;;;
;;;;;####';;;;;;;#####;';;####';;+####';;;;'####;';;####;;;;'####;;;;;;####+;;';####;;;'####;;;'''#####;;;;;;;;;####';;;;;'####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;''####'''''''''';;;;;
;;;;;####';;;;;;+####+';;;####';;'####';;;;'####;';;####;;;;'####;;;;;'####;''';####;;;'####;;;;;#####';;;;;;;;;#####;;;;''####;;;####';;;;####';;;;+###+;;;####'';;;'####';;'####;';####';;;;;;;;;;;;;;
;;;;;####';';;;'#####';;';####';;'####'''''+####;';;####;;;''####''';'+####;;;''####;;;'####;;;;'####+;';;;;;;;;#####;';;;+####;;;####';;;;####';;;;+###+;;;####';';'+####';;'####;';+###+';;;;;;;;;;;;;
;;;;;####';';'+######';;';####';;;#####;'';#####;';;####;;;''####'';''+####;;;;#####;;;'####;;';####+;;;;;;;;;;;'####';';;#####;;;####';;;;####';;;;+###+;;;####';';'####+;;;'####;';'####;;;;;';';;;;;;
;;;;;###############;;;;';####';;;######''######;';;####;;;''#####'+#;+#####''######;;;'####+'+;###############+;#####;;;#####';;;####:;;;;####';;;;+###+;;;#####''+#####;;;;'####;'';#####;;;;;++;;;;;;
;;;;;##############';';;';####';;'+#############;';;####;;;;;########;'#############;;;'#######;###############+;+############;';;####:.:::####';;;;+###+;;;#############;';;'####;';;+###########;;;;;;
;;;;;#############';';;;';####';;;;#############;';;####;;;;;########';#########+###;;;'#######;###############+;;###########';;:,####,:::;####';;;;+###+;;;############';';;'####;';;;###########+;;;;;
;;;;;############';;;;;;;;####;;;;;'#######'####;;;;####;;;;;'#######';'#######;'###';;;#######;###############+;;;#########+'':,.####,.,..####'';;'+###+;;;###########;;;;;;'####;';;''##########';;;;;
;;;;;#########+';';;;;;;;;####';;;;';+####''####;;;'####';;;;;+#####+;;';####+;''###';;;'#####+'###############+;;;;#######'';::.:####,...:####';;;;+###+;;;;'+######';'';;;;'####;;;;;;;#######+;';;;;;
;;;;;;;';;';'';;;;;;;;;;;;;;''';;;;';;';'';'####;;;;;;';;;;;;;;;''';';;;;''';;'';;''';;;;;'';;';;;;;;;;;;;;;;;';;;;;';;''';;;:.,.,..,..,:::::;;'';;;;;;';;;;;;''';;;;';;;;;;;;;;;';';;;;;;;;';';'';;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''+####;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,......,,,::::::::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;''';####+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,........:::::::;';::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'##'''+#####';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:...........,:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+###########;;;;;';;';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''..............:::::;':,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###########'';;;;';..;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'..................:;;';::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;##########';;;;;..;....;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'...................,:;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'######+;';;';,...,.....;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',...................,::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;''';';';;;:..........::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,..,.:.............,:::;;':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,......,:,..::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,:::::.............:::;'::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;...:':.,:::,::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,::::::::...........:::::;':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;.:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:  :::::::..........,::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',,::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''':, ';::::,............,:::;;;'::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.,::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;':,... ;;:::.............:,:::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;':;;;;;;..::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :...,,,:,..............,::::;';;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.`.';;';...::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :,...:::...............::;';;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;, .,;;;;,..,:::::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ,:,...,................::::;;;::';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'  .,:;;,...::::::'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; .::....................:::;';':';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. `.........:::::;';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';' ,::..................,.:::;';;:;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;'  ..........:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..::,.........::,...,:::::::;;;::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';.  . `.......,,...,,:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,.......:::::::::..:::,,:::::;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''.     ............,::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'::......:::::::::,.....,,:::::;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,     .............:,::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,.....::::::::,....:::,:;;;;'';:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        `.  ......,::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::.....::::::,.....:...::;;;;;;::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'           .......,:::,:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::.....:::::,......:,,::::;;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;`         ........:::::.:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.::.....::::,....`.:,:::::;;;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;';,      `..........::::::,,;;';;;;;;;;;;;;;;;;;;;;;;;;;:`.......,:,....`  ..,:;::::;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;';'';,`   ....... `..,::::::.;;;;;;;;;;;;;;;;;;;;;;;;;;;; ............`   .:::;;;:;:;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;. .....   ....,:::::::;;;';';;;;;;;;;;;;;;;;;;;;`,..........`   `,:::;::;;;;;';:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;' ..     ......::::::::;;';;;;;;;;;;;;;;;;;;;;;:,:........     .,:;:,::;;;;;:::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:::,....:'';;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      .......::,:::::::;';;;;'';;;;;;;;;;;;;,,.....         .:::.:::;:;;;':.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,,........;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      .......:::,::::::::;;;''';;;;;;;;;;;;;               .::;:.:::::::;;;.;';;;;;;;;;;;;;;;;;;;;;;;;;;''::.............:;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'            .,:,.::::,:::,.,;;;;;;;;;;;;;;;;`             `::;;,.,:::::::;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;';................,;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'             ....::,.:::::::,,::,;;;''';';;;            `::;;:..,:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,.................:';;;;;;;;
;;;;;;;;;;;;,.........;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:           ....,::.:::::::::::::,.,;;;;;;;;`         :::;';:..:::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,......`...........;';;;;;;;
;;;;;;;;;;;::.........;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''',        .....::.,:::::::::::::::::..:;'';;'`     ,::;;;;:,,:::;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,::::::,,:,..........:;;;;;;;;
;;;;;;;;;;;::......  .:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:       `....,::.:::::::::::::::::::::..,;'';     ::::'::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::........,::`.....,::;';;;;;;
;;;;;;;;;';::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''`       `...::.,::::::::::::::::::::::::,.,:     :::;::::::::,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:...........,:....:::::'';;;;;
;;;;;;;;;;;;::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;'          ,::.::::,::::::::::::::::::::::;`    ::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,................::::::;;;;;;;
;;;;;;;;;;;;::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;         ::.::::::::::::::::::::::::::::,   ,::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:...............,,::::::;;;;;;;
;;;;;;;;;;;'::.`      `.;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;';':       .:,,:::::,::::::::::::::::::::;;  ,:::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::...............::::::::;;;;;;;
;;;;;;;;;;;'::,.       .;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',      ,...::::,,:::::::::::::::::::;:,,::::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,...............::;::::::;;;;;;
;;;;;;;;;;;;;::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';       ...:::::,.:::::::::::::::::::::::::::::::::::::.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::................::;::::::;;;;;;
;;;;;;;;;;;;;::.       `,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';        .,:::::..:::::::::::::::::::::::::::::::::::::,:;;;;;;;;;;;;;;;;;;;;;;;;;;;,:...............,:'';:::::;;;;;;
;;;;;;;;;;;;'::,`       .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:        .::::::..::::::,..,::::::::::::::::::::::::::,..;;;;;;;;;;;;;;;;;;;;;;;;;;:,...............::;;;:::::;;;;;;
;;;;;;;;;;;;;:::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''          ,:,:::..::::::...::,:::::::::::::::::::::::,...';;;;;;;;;;;;;;;;;;;;;;;::...............,::;';;::::';;;;;
;;;;;;;;;;;;;;::.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'           .,:::..,.,::...,:::::::::::::::::::::::::,...;;;;;;;;;;;;;;;;;;;;;;;;,,...............::;;;;;:::';;;;;;
;;;;;;;;;;;;;;::.        .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:;,         ,::,........,::::::,.,:::::::..,:::::::,...:;';;;;;;;;;;;;;;;;;;;';:................::;;;;;:::;;;;;;;
;;;;;;;;;;;;;;::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';,        :::,....,:::::::.......:::::...:::::::,....;;;;;;;;;;;;;;;;;;;;;;::...............,::';;;;::;;;;;;;;
;;;;;;;;;;;;;;:::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'`      .:::,,:::::::::.........,:::....::::::,....;;;;;;;;;;;;;;;;;;;;;;:,...............::;';;;'::;;;;;;;;
;;;;;;;;;;;;;;;::.       `.'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';:   `.,::::::::::::,.................::::::.....:;;;;;;;;;;;;;;;;;;;;;:................::'';;';::';;;;;;;
;;;;;;;;;;;;;;'::.`       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'. .:::::::::::::,..................::::::.....,;;;;;;;;;;;;;;;;;;';:,...............:::;;;;;;::;;;;;;;;
;;;;;;;;;;;;;;;:::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;'';;;';;;'';:::::::::::::::,...................::::::.....,';;;;;;;;;;;;;;;;;;;:................::;;;;;'::;;;;;;;;;
;;;;;;;;;;;;;;;:::.       `,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''';;:,...,::::::::.,::::,....................:::::,.....,;;;;;;;;;;;;;;;;;;;;:...............,::';;;;;::';;;;;;;;
;;;;;;;;;;;;;;;;::.`       .;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;';;:,........,:::::::::....:::,....................:::::......:;;;;;;;;;;;;;;;;;;;:,...............::;';;';::;;';;;;;;;
;;;;;;;;;;;;;;;;::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;:,.......::::,,:::::::::::......:,...................,:::::......;;;;;;;;;;;;;;;;;;;;:...............,::';;;''::;;;;;;;;;;
;;;;;;;;;;;;;;;':::.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,...........:::::::::::::,..:::::..........................,::::,......;;;;;;;;;;;;;;;;;;;;:...............:::;;;;;;::'';;;;;;;;
;;;;;;;;;;;;;;;;;::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;:,.....,:::::::::::::::::::::,...,::::..........................:::::.......;;;;;;;;;;;;;;;;;;':,...............::;;;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;;::.`       .;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;::::::::::::::::::::::,,::::::.....,::::.........................::::,.......;;;;;;;;;;;;;;;;;';:...............,::';;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;;::,.       .,;;;;;;;;;;;;;;;;;;;;;,::;;;;;;;;;:::::::::::::::::::::::::,.:::::.......,:::,.........................:::,.......;;;;;;;;;;;;;;;;;;:,...............:::';;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;':::.        .;;;;;;;;;;;;;;';;;,..:::::;';';':::::::::::::::::::::.,::::..::::........,:::......` ................,:::,......,;;;;;;;;;;;;;;;;;':................::;';;''::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;::.        .;;;;;;;;;;;;;;':.....:::::::;';;:::::,::::,,,,,,,,:::,.,::::..,::..........::,....`   ...............:;::.......:;;;;;;;;;;;;;;;;;;:...............:::';;;''::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;::,.       .:';;;;;;;;;';;.......::::::::::;:::,..............,::,...,:::..:::.........,:,..`     ...............:;::.......;;;;;;;;;;;;;;;;;;:,...............::;;;;;';::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;:::.       `,;;;;;;;;;;;,.......,,::::::::::::,................,,.....,:::..::,............      `..............,:;::.......;;;;;;;;;;;;;;;;;;:...............,::';;;;'::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;:::.        .';;;;;;;;;;........::::::::::::::.........................,:::.,::..........       `....`       `..:::::......:;;;;;;;;;;;;;;;;;:,...............:::;;;;;'::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;::.`       .;;;;;;;;;;,........:::::::::::,............................,:::.,:,..`..`         `....        ...::;:::,.....;';;;;;;;;;;;;;;;;:,...............::;;;;;';::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;'::,.       .,';;;;;;;;..........::::::::::,..............................::..,..              ...`       ....,:;;:::,.....';;;;;;;;;;;;;;;;;:...............,::';;;;;::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;:::.        .';;;;;;;:..........::::::::::,...............................,.....                       `.....::;'::::....,;';;;;;;;;;;;;;;;;::..............::;'';;';::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;'.......,...,:::::::::,......................  ............                       ......,:;;;::::....;;;;;;;;;;;;;;;;;;;::,............,::;;;;;':::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;::.`       .:;;;;;;:..... ;......::::::::,.....  ...............   `...`   ``                      `.......:;;;;::::....;;;;;;;;;;;;;;;;;;;::::,..........:::;;;;;'::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;::,.        .;;;;;;.. .. ;....`   .::::::... `.  .....  ..```````                   .:;'. .;;:    ........::;';:::::....;;;;;;;;;;;;;;;;;;;:::::::........::;;;;;;;::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;:::.        .';;;',  ,.. ;...        .::`     `   ....                       `';;'';;'` `''';;;;  `......::';;;:::::...:';;;;;;;;;;;;;;;;;;:::::::::,....,::;;;;;;:::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;:::.`       .;;;;;; ;;. `:..   ;;;;.        '                        `:;;;;`;;;';';';,   ;;;:.      ....::;;;;:::::,...;;;;;;;;;;;;;;;;;;;;,,:::::::::::,::;;;;;;;::;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;::,.       `,';;;;;;;` :,.  ;;;;;;''.   ;;;;;               `,:;;;';;;;;;;;;;;;;;;;;    ......     ...::;';':::::,....';;;;;;;;;;;;;;;;;;:..::::::::::::,:;;;;'';::;';;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;`  '.. .;;;;;;;';;;'';;;;.      ''::;'';;;;';;'';;;;;;;;;;;;;;;;    ......     `.:::;';;:::::....,;;;;;;;;;;;;;;;;;;;:...:::::::::::::;;;;;;:::'';;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;: :;.` ;';;;;';;;;';'';;;;::,;';;;;;;;';;;;'';;';;;;;;;;;;;;;;;;     `.....    .,::';;;:::::.....:'';;;;;;;;;;;;;;;;;,.....,:::::::,,:;;;;;'::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.`       `,;;;;;;;;;:.  ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'         ...`  .::;;;::::::...,..;;;;;;;;;;;;;;;;;;;:.........,....::::;;;;;::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;::,.        .';;;;;';'.. :;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;         ....  ,::;:::::::..,::..;;;;;;;;;;;;;;;;;;;:..............::::;;;;:::';;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;.  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.         ......:::::::::::.::::.,;;;;;;;;;;;;;;;;;;;,.............,:::::;';::;';;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;:::.`       .:;;;;;;;;,  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';          ......:::::::::::::::,.;';;;;;;;;;;;;;;;;;:..............::::::;';::;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::..        .;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;          .....,:::::::::::::;:..';;;;;;;;;;;;;;;;;;:.............,:::::::;:::';;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::,.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';         .....,::::::;;:::::;::..;;;;;;;;;;;;;;;;;;;,.............:::::::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,       `......::::::;;;::::;;::.:;;;;;;;;;;;;;;;;;;:..............::;;:::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:::.`       `,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.   ..........,:::::';;;'::;;:::.;;;;;;;;;;;;;;;;;;;:.............,::;;:::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:,:::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`   ..........:.:::';;;;;;;;;::..;;;;;;;;;;;;;;;;;;;:.............:::';':::::;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;,::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    ``......,:..::;;;;;;;';;;:,..;;;;;;;;;;;;;;;;;;;,.............::;'';;::::;';;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::::,,..,,,,,`      ,::::::.,,,,,,.,::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      `.........::;;;;;;;'''::..,;;;;;;;;;;;;;;;;;;:.............,::;;;;'::::';;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::       .::::::         ::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;       `........::;;;;;;;;;::...:;;;;;;;;;;;;;;;';;:.............:::;;;;';::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;';::::::::::::       .::::::         :::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`         .....,::;;;;;;;;::,.,.;;;;;;;;;;;;;;;;;;;,.............::;;;;;;;::;'';;;;;;;;;;;;;;;;;;
''''''''''''''''''''''';::::::::::::       .::::::         :::::::::::::'''''''';;''';;'';;;;;;;;;;;;;;`          `...,::;;;;;;':::.,:.;;;;;;;;;;;;;;;;;;:.............,::;;;;;;;::;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::;:,,,,..,,,,,,``````.,,,,,,........,,,,,,,,,,,,,::::::::::::::::::;;;;;;;;;;;;;'`           ...:::;;;;;;:::::::.;;;;;;;;;;;;;;;;;':.............::;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;
,::::::::::::::::::::::::,,,,,,,,,,.,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::;;;;;;;;;;;;;;`           ...:::;;;;;;:::::::.;;;;;;;;;;;;;;;;;;,.............::'';;;;;::;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::';;;;;;;;;;;;`           ...:::;;;;;;:::::::.;;;;;;;;;;;;;;;;;:.............:::;;;;'';::;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;`          `...:::;;;;;::::::::.;;;;;;;;;;;;;;;;':.............::;'';;''::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;';;;;;;;;;;;;.           ...:::;;;;;::::::::.;;;;;;;;;;;;;;;;;,............,::';;;;;'::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'.           `..:::;;;;;:::::;::.;;;;;;;;;;;;;;;':.............:::';;;;';::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'.     .``   `..:::;;;;;:::::;:,.,;;;;;;;;;;;;;;;:.............::;';;;;'::;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::;;;;;;;;;;;;;;;;;     `...  ...:::;;;;;::::;::,..;;;;;;;;;;;;;;;,............,::;;;;;;'::;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::,,,,,:::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::.;;;;;;;;;;;;;;;;;;;      ........:::;;;;;::::'::...;;;;;;;;;;;;;;:.............:::'';;;;;::';;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::,....:::::::::::::::::::::::::::..,:::::::::::::::::::::::::::::::::::.;;';;;;;;;;;;;;;;';      `.......:::;;;;';::;;::...;;;;;;;;;;;;;':.............::;';;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;###########';';;;;;';####;;;;;;;;;;;;;;;;;;;;';####;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+####;;;;###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####';;;;;;;;;;;;'###+;;;;;;;;;;;;;;;;;;;;;;
;;;;;#############'';;;;''####+'';;;;;;;;;;;;;;;;;'+####+'';;;;;;;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####';;;;;;;;;;;;#####';;;;;;;;;;;;;;;;;;;;;
;;;;;##############'';;;;+#####';;;;;;;;;;;;;;;;;;;######'';;'';+;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;#####+;;;;;;;;;;;;;;;;;;;;;
;;;;;###############;;;;;'####+';;;;;;;;;;;;;;;;;;;'####+;;'''###;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;#####';;;;;;;;;;;;;;;;;;;;;
;;;;;###############+;;;';+##+;;';;;;;;;;;;;;;;;;;';+##+;;'''####;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;'###';';;;;;;;;;;;;;;;;;;;;
;;;;;####'';;''######';;;;;;;;;;;;;;;;;;'';';;;;;;;;;;;;;;;;'####;;;;;;;;;;'';';'';;;;;'####';;''''''''';;'####';;;;;;;;;;;';;;;;;;;;;;;;;;'';;;;;;;;'';;;;;####'''';'';;;;;;;;;;;;;;;;;;;;;;'';';;;;;;;
;;;;;####'';;';;#####+;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;'####;;;;;;;;;;';'';'';;;;;'####';;;;;;;;;;;''####+;;;;;;;'';;;;;;;;;;;;;;;;;'';;;;;;;'';'';;;;;####''''''';;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;
;;;;;####'';;';''#####;;;;;;;;;;;;;;;;;'###+'';;;;;;;;;;;;;;'####;;;;;;;;;;'+##+'';;;;;'####';;''''''''''#####;'';;;;'+##';;;;;;;;;;;;;;;+#+';;;;'+#+'';;;;;####'''+#+';;;;;;;;;;;;;;;;;;;'+##';';;;;;;;
;;;;;####'';;;;;;#####;;';####';;;;;'+#########+;;';####;;+##########';'+#########''';;'####';;;;;;;;;;'+####';;;;;'#######+;';;;;###+''######;'+######;;';;####'#######;;';;'####'';;;''#######+'';;;;;
;;;;;####'';;;;''+####''';####';;;;;############;;';####;;+##########';'###########;;;;'####';;;;;;;;;''#####;;;;'+##########';;;;####'#######''#######+';;;############+'';;'####'';;;+#########+';;;;;
;;;;;####'';;;;;;'####';';####';;';#############;'';####';+##########;;'###########'';;'####';;;;;;;'';#####;;;;;'###########+;;;;######################;';;#############;;;;'####'';;'###########';';;;
;;;;;####'';;;;;;'####+;';####';;;'#############;'';####;;+##########;;;############;;;'####';;;;;;;';+####+;;;;;#############;';;######################';;;#############+;;;'####'';;#####+''#####';;;;
;;;;;####'';;;;;;;####+;';####';;'#####';';'####;'';####;;'''####''';;;;#';;';;+####;;;'####';;;;;;;;'#####';;;;'####+;''+####+;;;#####+';+#####+;;+####';;;#####''''#####';;'####'';;####'''''####'';;;
;;;;;####';;;;;;;;####+;';####';;'####+;;;;'####;'';####;;;;'####;;;;;;;;;;;;;''####;;;'####;;;;;;;;;+####+;;;''+####;;;;;#####;;;#####;;;;#####';;;####';;;####+';;;+####';;'####''''####'';;'####;;;;;
;;;;;####';;;;;;;;####+;';####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;;;;;;;;####;;;'####;;;;;;;;'#####;;;;;'#####';;;'+####;;;####';;;;####+;;;;####+;;;####';;;;'####';;'####'''+###+;;;;;+###';;;;
;;;;;####';;;;;;;;####+'';####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;;;;;;''####;;;'####;;;;;;;;#####';;;;;'####+';;;;'####';;####';;;;####';;;;####+';;####';;;;;####';;'####';'####+;;;;;+###'';;;
;;;;;####';;;;;';'####';;;####;;;'####;;;;;'####;';;####;;;;'####;;;;;;;;'##########;;;'####;;;;;;''#####';;;;;;####';;;;;'####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;';##############';;;;
;;;;;####';;;;;'''####';;;####;;;+####;;;;;'####;';;####;;;;'####;;;;;;;+###########;;;'####;;;;;''#####;;;;;;;;####';;;;''####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;';##############;;;;;
;;;;;####';;;;;''#####;;;;####;;;+####';;;;'####;';;####;;;;'####;;;;;;#######++####;;;'####;;;;;'+####+;;;;;;';####';;;;;'####';;####';;;;####';;;;+###+;;;####'';;';####';;'####;;'##############;;;;;
;;;;;####';;;;;;;#####;';;####;;;+####;;;;;'####;';;####;;;;'####;;;;;;####+;;';####;;;'####;;;'''#####;;;;;;;;;####';;;;;'####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;''####'''''''''';;;;;
;;;;;####';;;;;;+####+';;;####;;;'####';;;;'####;';;####;;;;'####;;;;;'####;''';####;;;'####;;;;;#####';;;;;;;;;#####;;;;''####;;;####';;;;####';;;;+###+;;;####'';;;'####';;'####;';####';;;;;;;;;;;;;;
;;;;;####';';;;'#####';;;;####;;;'####'''''+####;';;####;;;''####''';'+####;;;''####;;;'####;;;;'####+;';;;;;;;;#####;';;;+####;;;####';;;;####';;;;+###+;;;####';';'+####';;'####;';+###+';;;;;;;;;;;;;
;;;;;####';';'+######';;;;####;;;;#####;'';#####;';;####;;;''####'';''+####;;;;#####;;;'####;;';####+;;;;;;;;;;;'####';';;#####;;;####';;;;####';;;;+###+;;;####';';'####+;;;'####;';'####;;;;;';';;;;;;
;;;;;###############;;;;;;####;;;;######''######;';;####;;;''#####'+#;+#####''######;;;'####+'+;###############+;#####;;;#####';;;####;;;;;####';;;;+###+;;;#####''+#####;;;;'####;'';#####;;;;;++;;;;;;
;;;;;##############';';;;;####;;;'+#############;';;####;;;;;########;'#############;;;'#######;###############+;+############;';;####:.:::####';;;;+###+;;;#############;';;'####;';;+###########;;;;;;
;;;;;#############';';;;;;####;;;;;#############;';;####;;;;;########';#########+###;;;'#######;###############+;;###########';':,####,:::;####';;;;+###+;;;############';';;'####;';;;###########+;;;;;
;;;;;############';;;;;;;;####;;;;;'#######'####;;;;####;;;;;'#######';'#######;'###';;;#######;###############+;;;#########+'':,.####,.,..####'';;'+###+;;;###########;;;;;;'####;';;''##########';;;;;
;;;;;#########+';';;;;;;;'####';;;;''+####''####;;;'####';;;;;+#####+;;';####+;''###';;;'#####+'###############+;;;;#######'';::.:####,...:####';;;;+###+;;;;'+######';'';;;;'####;;;;;;;#######+;';;;;;
;;;;;;;';;';'';;;;;;;;;;;;;;'';;;;;';;';'';'####;;;;;;';;;;;;;;;''';';;;;''';;'';;''';;;;;'';;';;;;;;;;;;;;;;;';;;;;';;'';;;;:.,.,..,..,:::::;;'';;;;;;';;;;;;''';;;;';;;;;;;;;;;';';;;;;;;;';';'';;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''+####;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';,......,,,::::::::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;''';####+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,........:::::::;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'##'''+#####';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:..........,,,::;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+###########;;;;;;;;';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''..............:::::;'::''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###########'';;;;';..;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'..................:;;;'::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;##########';;;;'..;....;';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'...................,:;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'######+;';;';,...,.....;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,...................,::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;''';';';;;:..........::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,..,,:,............,:::;;'::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,......,:,..::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::,:::::.............:::;'::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;...:':.,:::,::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,::::::::...........:::::;':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;.:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:  :::::::..........,::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';:, ';::::,............,:::;';'::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.,::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;':,.., ;':::.............:,:::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;':;;;;;'..::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :...,,,:,..............,::::;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.`.';;';...::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :,...:::...............::;';;;;::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: .,;;;;,..,:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ,:,...,................::::;';::';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'  .,:;;,...::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; .::....................:::;';;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'. `.........:::::;';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';; ,::..................,.:::;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'  ..........:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;..::................,::::::::;;::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';';;;;.  ..........,,...,,::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,.........,...:::..:::,,:::::;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;':;;;;'';;.  ................,:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'::.......:::::::::.....,,:::::;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;........;;', `................,:::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,.....,::::::::,...:::,:;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;............,.  ................,:::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::.....::::::::,...:...::;;;;;';:;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;............:::   ................:::::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::.....::::::,.....:.,::::;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,............,::::`  ................:::::;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;.::.....:::::,.....:,:::::;;;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ............:,::::::  `.. ...........:::,::::';;;;;;;;;;;;;;;;;;;;;;;;;;;:`.......,:::,.......,:;;:::;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;   `........,:::::::';;:..  `.........,::,,::::;;;;;;;;;;;;;;;;;;;;;;;;;;;; ........,...` `.,:::;;;:;:;;;::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;... `.....::::::::';;;;;. ..........,:...,::::;;;';;;;;;;;;;;;;;;;;;;;;;`,..........`   .,:::;::;;;;;'::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''':.. ,;,....:::::::::';;;;''`................:::::;;;;;;;;;;;;;;;;;;;;;;;;:,:........     .,:;:,::;;;;;:::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:::,....:';;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.  `;......::::::::::;::::;::................::::::';';;;;;;;;;;;;;;;;;;;,......        ..:::.:::;:;;;;:.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,,........;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;   `;.......::::::::::;::::::::...............,::::::;;';;;;;;;;;;;;;;;;;'               .::;:.:::::::;;;.;';;;;;;;;;;;;;;;;;;;;;;;;;;;'::.............:;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. ,'........::::::::::,:::::::::...............,:::::::;;;;;;;;;;;;;;;;;;;`             .::;;,.,:::::::;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;';................,;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',..      `:::::::::,::::::::::,..............:::::::,,;;';;;;;;;;;;;;;;;            ,::;':..,:::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,.................:;;;;;;;;;
;;;;;;;;;;;;:.........;;;;;;;;;;;;;;;';:..  ,;`   ,::::::::.::...,::::::,.............::::::::::;;;;;;;;;;;;;;;;;`        ,:::;;;:..:::;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,......`...........;;;;;;;;;
;;;;;;;;;;;::.........;;;;;;;;;;;;;;;';.`  ;;;;';  :::::::........,:::::::,...........:::::::::::;;;;;;;;;;;;;;'';;'`     ,::;;';:.,:::;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,::::::,,::..........:;;;;;;;;
;;;;;;;;;;;::......` .:';;;;;;;;;;;;;',.  ,;;;;;;'  ,:::::..........,::::::::..........:,,,,:::::::;;;;;;;;;;;;;;;;;';     ::::'::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::........,::`.....,::;'';;;;;
;;;;;;;;;';::,.       .;;;;;;;;;;;;;;',  ;;;;;;;';;  ::::.............,:::::::,.............,:::::::,;';;;;;;;;;;;;;';;     :::;::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:...........,:....,::::;;;;;;;
;;;;;;;;;;;;::.       .;;;;;;;;;;;;;;;;::;;;;;;;;;;: `::,...............::::::::...............,:::::::;;;;';;;;;;;;;;;`    ::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,................,:::::;;;;;;;
;;;;;;;;;;;;::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;';` `` .................:::::::::..............,:::::::;';;;;;;;;;;;;:   ,::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:...............,,::::::;;;;;;;
;;;;;;;;;;;'::.`      `.;;;;;;;;;;;;;;;';;;;;;;;;;';;,      ...............,::::::::::,............,:::::::;;;;;;;;;;;;;  ,:::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::...............::::::::;;;;;;;
;;;;;;;;;;;;::,.       .;';;;;;;;;;;;;;;;;;;;;;;;;;;;;';.   `. `............::::::::::::,...........,:,,::::::;';;;;;;;:,,::::::::::::::,.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,...............::;::::::;;;;;;
;;;;;;;;;;;;;::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';` .  ............,::::::::::::................::::::::;';;;:::::::::::::::::::.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::................::;::::::;;;;;;
;;;;;;;;;;;';::.       `,';;;;;;;;;;;;;;;;;;;;;;;;;;';;;;''. `  .............::,.::::,::::,...............,:::::::::::::::::::::::::::::::,:;;;;;;;;;;;;;;;;;;;;;;;;;;;,:...............,:;;;:::::;;;;;;
;;;;;;;;;;;;'::,`       .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.    .............,:..,:::.::::::::::::,.........,:::::::::::::::::::::::::::::,..;';;;;;;;;;;;;;;;;;;;;;;;;:,...............::;;;:::::;;;;;;
;;;;;;;;;;;;;:::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    ..................:::.:::::::::::::::::,.......,::::::::::::::::::::::::::,...;;;;;;;;;;;;;;;;;;;;;;;;::...............,::''';::::';;;;;
;;;;;;;;;;;;;;::.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`     .` ..............::..::::::::::::::::::::,......,:::::::::::::::::::::::,...;;;;;;;;;;;;;;;;;;;;;;;;:,...............::;;;;;:::';;;;;;
;;;;;;;;;;;;;;::.        .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.     `  .............::,.:::::,..,::::::::::::::::::::::..,:::::::..,::::::::...:;;;;;;;;;;;;;;;;;;;;;;;:................::;;;;;:::;;;;;;;
;;;;;;;;;;;;;'::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;':       `...........,::.,:::.....:::::,:::::::::::::::::....:::::...:::::::,....';;;;;;;;;;;;;;;;;;;;;::...............,::;;;';:::;;;;;;;
;;;;;;;;;;;;;;:::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';      ...........::..::......::::...::::::::::::::::,....,:::....::::::,....;';;;;;;;;;;;;;;;;;;;;:,...............::;;;;;;::;;;;;;;;
;;;;;;;;;;;;;;;::.       `.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;       ..  .....::,.::......,:::...,:::::::::,,:::::,...........::::::.....:;;;;;;;;;;;;;;;;;;;;;:................::'';;';::';;;;;;;
;;;;;;;;;;;;;;'::.`       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      .  `....,::.::,......:::,...:::::::......::::...........::::::.....,;;;;;;;;;;;;;;;;;;;'::...............:::;;;;;;::;;;;;;;;
;;;;;;;;;;;;;;;:::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';`       .....::,::,......:::,...,::...........:::...........::::::.....,';;;;;;;;;;;;;;;;;;;:................::;;;;;;::;';;;;;;;
;;;;;;;;;;;;;;;:::.       `.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';''       ....,:,,:,......,:::....::............,,...........:::::,.....,;;;;;;;;;;;;;;;;;;;;:...............,::';;;;;::;;;;;;;;;
;;;;;;;;;;;;;;;;::.`       .;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';      ....,..:,.......:::...............................:::::......:;;;;;;;;;;;;;;;;;;;:,...............::;';;;;::;;';;;;;;;
;;;;;;;;;;;;;;;;::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;       ....,........,::..............................,:::::......;;;;;;;;;;;;;;;;;;;;:...............,::'';;''::;;;;;;;;;;
;;;;;;;;;;;;;;;;:::.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;      .............::....``........................,::::,......;;;;;;;;;;;;;;;;;;;;:...............:::';;;;;::'';;;;;;;;
;;;;;;;;;;;;;;;;;::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,    ....`  .....::...   `.......................:::::.......;;;;;;;;;;;;;;;;;;':,...............::;;;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;;::.`       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;         `....,,..    `..........`............::::,.......;;;;;;;;;;;;;;;;;;;:...............,::';;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;'::,.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.         `.....`     ......`     `...........,:::,.......;;;;;;;;;;;;;;;;;;:,...............:::';;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:`         `.      ....`        `...........,:::,......,;;;;;;;;;;;;;;;;;;:................::;;;;;'::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;'`             ....          ............:;::.......:;;;;;;;;;;;;;;;;;;:...............:::'';;;;::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;::,.       .:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';          `...          ..............:;::.......;;;;;;;;;;;;;;;;;;:,...............::;;;;;';::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;:::.       `,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                    ...............,:;::.......;;;;;;;;;;;;;;;;';:...............,::;;;;;'::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;:               .................:::::......:';;;;;;;;;;;;;;;;:,...............:::;;;;;;::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;::.`       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;            `..................::;:::,.....;;;;;;;;;;;;;;;;;':,...............::;';;;';::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;::,.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'         `...................,:;;::::.....;;;;;;;;;;;;;;;;;;:...............,::;;;;';::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;:::.       `.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,          ................::;'::::....,;;;;;;;;;;;;;;;;;;::..............::;;;;;';::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'           .............,:;;;::::....;;;;;;;;;;;;;;;;;;'::,............,::;;;;;;:::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;';::.`       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';           `...........:;;;;::::....;;;;;;;;;;;;;;;;;;;::::,..........:::;;;;;;::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;::,.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,           `.........::;';:::::....;;;;;;;;;;;;;;;;;;;:::::::........::;;;;;;;::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     ``.     `......::';;;:::::...:';;;;;;;;;;;;;;;;;;:::::::::,....,::';;;;;:::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;:::.`       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'     ....      ....::;;;;:::::,...;;;;;;;;;;;;;;;;;;;;,,:::::::::::,::;;;;;;;::;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;::,.       `,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     .....     ...::;;'':::::,....';;;;;;;;;;;;;;;;;;:..::::::::::::,:;;;;;';::;';;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;':::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      ....     `.:::;;;;:::::....,;';;;;;;;;;;;;;;;;;:..,:::::::::::::';;;;;:::'';;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      .....    .,::';;;:::::.....:'';;;;;;;;;;;;;;;;;,.....,::::::,,,:;';;;'::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.`       `,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      ......`  .::;;;::::::...,..;;;;;;;;;;;;;;;;;;;:.........,....::::;;;;;::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;::,.        .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      .  ....  ,::':::::::..,::..;;;;;;;;;;;;;;;;;;;:..............::::;;;;:::';;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.     `   `....::::::::::::.::::.,;;;;;;;;;;;;;;;;;;;,.............,:::::;';::;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;:::.`       .:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';          ....,::::::::::::::::,.;';;;;;;;;;;;;;;;;;:..............::::::;;;::;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::,.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;          ...,:::::::::::::::;:..;;;;;;;;;;;;;;;;;;;:.............,:::::::;:::;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::,.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;         ....::::::::;;:::::;::..;;;;;;;;;;;;;;;;;;;,.............:::::::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',        ....::::::::;;;::::;;::.:;';;;;;;;;;;;;;;;;:..............::;;:::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:::.`       `,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`       `...::::::::;;;''::;;:::.;;;;;;;;;;;;;;;;;;;:.............,::';:::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:,:::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`      ...,::::::::';;;;;;;;;::..;;;;;;;;;;;;;;;;;;;,.............:::;;':::::;';;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;,::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      `...::::::::;;;;;;;';;;:,..;;;;;;;;;;;;;;;;;;;,.............::;;';;::::;';;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::::,,..,,,,,`      ,::::::,,,,,,,.,::::::::::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;'        ..::::::::;;;;;;;'';::..,;;;;;;;;;;;;;;;;';:.............,::;;;;;;:::';;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::       .::::::         ::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;         .,,.:::::;;;;;;;;;::...:;;;;;;;;;;;;;;;';':.............:::;;;;;'::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::       .::::::         :::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`         ...:::::'';;;;;;::,.,.;;;;;;;;;;;;;;;;;;;,.............::;;;;;';::;'';;;;;;;;;;;;;;;;;;
'';;;;;;;;;;;;;;;;;;;;';::::::::::::       .::::::         :::::::::::::;;;;;;;;;;''';;'';';;;;;;;;;;;'`         ...:::::;;;;;;;:::.::.;;;;;;;;;;;;;;;;;;:.............,::;;;;;;;::;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::,,,,..,,,,,,``````.,,,,.,.........,,,,,,,,,,,,::::::::::::::::::;;;;;;;;;;;;;'`        ....,::::;;;;;;:::::::.;;;;;;;;;;;;;;;;;':.............::;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;
,,::::::::::::::::::::,,:,,,,,,,,,,,,,.,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::;';;;;;;;;;;;;`       ......::::;;;;';:::::::.;;;;;;;;;;;;;;;;;;,.............::'';;;;'::;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;`        .....::::;;;;;;:::::::.;;;;;;;;;;;;;;;;;:.............,::';;;;';::;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;`        `...:::::;;;;;::::::::.;;;;;;;;;;;;;;;;':.............::;'';;;;::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;';;;;;;;;;;;;.         ..::::::;;;;;::::::::.;;;;;;;;;;;;;;;;;,............,::';;;;;'::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'.          ,::::::;;;;;:::::;::.:;;;;;;;;;;;;;;':.............:::;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'.     .`. `:::::::;;;;;:::::;:,.,;;;;;;;;;;;;;';:.............::;;;;;;'::;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::;;;;;;;;;;;;;;;';     `....:::::::;;;;;::::;::,..;;;;;;;;;;;;;;;,............,::;;;;;;'::;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::,,,,,:::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::,;;;;;;;;;;;;;;;;;;;      ....:::::::;;;;;::::'::...;;;;;;;;;;;;;;:.............:::'';;;;;::';;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::,....:::::::::::::::::::::::::::..,:::::::::::::::::::::::::::::::::::,;'';;;;;;;;;;;;;;;;      `...:::::::;;;;';::';::...;;;;;;;;;;;;;;:.............::;';;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;###########';';;;;;';####;;;;;;;;;;;;;;;;;;;;';####;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+####;;;;###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####';;;;;;;;;;;;'###+;;;;;;;;;;;;;;;;;;;;;;
;;;;;#############'';;;;''####+'';;;;;;;;;;;;;;;;;'+####+'';;;;;;;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####';;;;;;;;;;;;#####';;;;;;;;;;;;;;;;;;;;;
;;;;;##############'';;;;+#####';;;;;;;;;;;;;;;;;;;######'';;'';+;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;#####+;;;;;;;;;;;;;;;;;;;;;
;;;;;###############;;;;;'####+';;;;;;;;;;;;;;;;;;;'####+;;'''###;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;#####';;;;;;;;;;;;;;;;;;;;;
;;;;;###############+;;;';+##+;;';;;;;;;;;;;;;;;;;';+##+;;'''####;;;;;;;;;;;;;;;;;;;;;;'####';;'###############+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;####'';;;;;;;;;;;'###';';;;;;;;;;;;;;;;;;;;;
;;;;;####'';;''######';;;;;;;;;;;;;;;;;;'';';;;;;;;;;;;;;;;;'####;;;;;;;;;;'';';'';;;;;'####';;''''''''';;'####';;;;;;;;;;;';;;;;;;;;;;;;;;'';;;;;;;;'';;;;;####'''';'';;;;;;;;;;;;;;;;;;;;;;'';';;;;;;;
;;;;;####'';;';;#####+;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;'####;;;;;;;;;;';'';'';;;;;'####';;;;;;;;;;;''####+;;;;;;;'';;;;;;;;;;;;;;;;;'';;;;;;;'';'';;;;;####''''''';;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;
;;;;;####'';;';''#####;;;;;;;;;;;;;;;;;'###+'';;;;;;;;;;;;;;'####;;;;;;;;;;'+##+'';;;;;'####';;''''''''''#####;'';;;;'+##';;;;;;;;;;;;;;;+#+';;;;'+#+'';;;;;####'''+#+';;;;;;;;;;;;;;;;;;;'+##';';;;;;;;
;;;;;####'';;;;;;#####;;';####';;;;;'+#########+;;';####;;+##########';'+#########''';;'####';;;;;;;;;;'+####';;;;;'#######+;';;;;###+''######;'+######;;';;####'#######;;';;'####'';;;''#######+'';;;;;
;;;;;####'';;;;''+####''';####';;;;;############;;';####;;+##########';'###########;;;;'####';;;;;;;;;''#####;;;;'+##########';;;;####'#######''#######+';;;############+'';;'####'';;;+#########+';;;;;
;;;;;####'';;;;;;'####';';####';;';#############;'';####';+##########;;'###########'';;'####';;;;;;;'';#####;;;;;'###########+;;;;######################;';;#############;;;;'####'';;'###########';';;;
;;;;;####'';;;;;;'####+;';####';;;'#############;'';####;;+##########;;;############;;;'####';;;;;;;';+####+;;;;;#############;';;######################';;;#############+;;;'####'';;#####+''#####';;;;
;;;;;####'';;;;;;;####+;';####';;'#####';';'####;'';####;;'''####''';;;;#';;';;+####;;;'####';;;;;;;;'#####';;;;'####+;''+####+;;;#####+';+#####+;;+####';;;#####''''#####';;'####'';;####'''''####'';;;
;;;;;####';;;;;;;;####+;';####';;;####+;;;;'####;'';####;;;;'####;;;;;;;;;;;;;''####;;;'####;;;;;;;;;+####+;;;''+####;;;;;#####;;;#####;;;;#####';;;####';;;####+';;;+####';;'####''''####'';;'####;;;;;
;;;;;####';;;;;;;;####+;';####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;;;;;;;;####;;;'####;;;;;;;;'#####;;;;;'#####';;;'+####;;;####';;;;####+;;;;####+;;;####';;;;'####';;'####'''+###+;;;;;+###';;;;
;;;;;####';;;;;;;;####+'';####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;;;;;;''####;;;'####;;;;;;;;#####';;;;;'####+';;;;'####';;####';;;;####';;;;####+';;####';;;;;####';;'####';'####+;;;;;+###'';;;
;;;;;####';;;;;';'####';;;####';;'####;;;;;'####;'';####;;;;'####;;;;;;;;'##########;;;'####;;;;;;''#####';;;;;;####';;;;;'####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;';##############';;;;
;;;;;####';;;;;'''####';;;####';;+####;;;;;'####;'';####;;;;'####;;;;;;;+###########;;;'####;;;;;''#####;;;;;;;;####';;;;''####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;';##############;;;;;
;;;;;####';;;;;''#####;;;;####';;+####';;;;'####;';;####;;;;'####;;;;;;#######++####;;;'####;;;;;'+####+;;;;;;';####';;;;;'####';;####';;;;####';;;;+###+;;;####'';;';####';;'####;;'##############;;;;;
;;;;;####';;;;;;;#####;';;####';;+####';;;;'####;';;####;;;;'####;;;;;;####+;;';####;;;'####;;;'''#####;;;;;;;;;####';;;;;'####;;;####';;;;####';;;;+###+;;;####'';;;;####';;'####;''####'''''''''';;;;;
;;;;;####';;;;;;+####+';;;####';;'####';;;;'####;';;####;;;;'####;;;;;'####;''';####;;;'####;;;;;#####';;;;;;;;;#####;;;;''####;;;####';;;;####';;;;+###+;;;####'';;;'####';;'####;';####';;;;;;;;;;;;;;
;;;;;####';';;;'#####';;';####';;'####'''''+####;';;####;;;;'####''';'+####;;;''####;;;'####;;;;'####+;';;;;;;;;#####;';;;+####;;;####';;;;####';;;;+###+;;;####';';'+####';;'####;';+###+';;;;;;;;;;;;;
;;;;;####';';'+######';;';####';;;#####;'';#####;';;####;;;''####'';''+####;;;;#####;;;'####;;';####+;;;;;;;;;;;'####';';;#####;;;####';;;;####';;;;+###+;;;####';';'####+;;;'####;';'####;;;;;';';;;;;;
;;;;;###############;;;;';####';;;######''######;';;####;;;;'#####'+#;+#####''######;;;'####+'+;###############+;#####;;;#####';;;####:;;;;####';;;;+###+;;;#####''+#####;;;;'####;'';#####;;;;;++;;;;;;
;;;;;##############';';;';####';;'+#############;';;####;,...########;'#############;;;'#######;###############+;+############;';;####:.:::####';;;;+###+;;;#############;';;'####;';;+###########;;;;;;
;;;;;#############';';;;';####';;;;#############;';;####.....########';#########+###;;;'#######;###############+;;###########';;:,####,:::;####';;;;+###+;;;############';';;'####;';;;###########+;;;;;
;;;;;############';;;;;;;;####;;;;;'#######'####;;''####.....;#######';'#######;'###';;;#######;###############+;;;#########+'':,.####,.,..####'';;'+###+;;;###########;;;;;;'####;';;''##########';;;;;
;;;;;#########+';';;;;;;;;####';;;;';+####''####;;;;####......'#####+;;';####+;''###';;;'#####+'###############+;;;;#######'';::.:####,...:####';;;;+###+;;;;'+######';'';;;;'####;;;;;;;#######+;';;;;;
;;;;;;;';;';'';;;;;;;;;;;;;;''';;;;';;';'';'####;;;;   ............,,;;;;''';;'';;''';;;;;'';;';;;;;;;;;;;;;;;';;;;;';;''';;;:.,.,..,..,:::::;;'';;;;;;';;;;;;''';;;;';;;;;;;;;;;';';;;;;;;;';';'';;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''+####;;;;';:...........,:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,......,,,::::::::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;''';####+;;;;';...  .....,:,:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,........:::::::;';::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'##'''+#####';;;;;..  `;:....:::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:...........,:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+###########;;;;;`   .;,.....,::::::;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''..............:::::;':,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###########'';;;;: `;:.......::::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'..................:;;';::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;##########';;;;;;;;;:........::::::::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'...................,:;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'######+;';;;;;;;'....   ...:::::::::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',...................,::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;''';';';;;;;;;..`       `:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,..,.:.............,:::;;':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;:.   .;':   ,:::::::::'::;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,:::::.............:::;'::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;:  `:';''', `:::::::::::::;::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,::::::::...........:::::;':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;'.`;;;;;;;', :::::::::::::::::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:  :::::::..........,::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  :::::::.::::::::,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''':, ';::::,............,:::;;;'::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;: .:::::..,:.,:::::,.';;;;;;;;;;;;;;;;;;;;;;;;;;':,... ;;:::.............:,:::;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;;;  ::::,.......,::::,.;';';;;;;;;;;;;;;;;;;;;;;;; :...,,,:,..............,::::;';;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;', ,::,.........:::::,.:;;;;;;;;;;;;;;;;;;;;;;;;; :,...:::...............::;';;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;';;;;;;;;` . ...........,::::,.,;;;;;;;;;;;;;;;;;;;;;;;; ,:,...,................::::;;;::';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';    ,..........,:::::..;';;;;;;;;;;;;;;;;;;;;; .::....................:::;';':';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',    ..........,:::::..;;;;;;;;;;;;;;;;;;;';' ,::..................,.:::;';;:;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;'`  ...........,:::::,.:;;;;;;;;;;;;;;;;;;;..::,.........,:....,:::::::;;;::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''; .` .........,:::::,.,'';;;;;;;;;;;;;;;:,.......,,:,,::::..:::,,:::::;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';; `  `.........,:::::,.,;;';;;;;;;;;;;;'::......,::::::::,.....,,:::::;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    ...........,:::::,..;;'';;;;;;;;;;;;:,.....:::::::::....:::,:;;;;'';:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    ............,:::::,..:';;;;;;;;;;;;;::.....:::::::,....:...::;;;;;;::;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    .............:::::::,.,;;;;;;;;;;;;;::....,:::::,......:,,::::;;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;    `...........:::::::::,.;;;;;;;;;;;.::.....::::,......:,:::::;;;;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;:    .` ........:::.::::::,.;';;;;;;;:`.......,::,........,:;::::;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;'';'      ........,:,.::::::::.:;;;;;;;; ............` `.,:::;;;:;:;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'':    `...........,:::,:::..,;';;;;;`,..........`   .,:::;::;;;;;';:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`   `...........::,.::::...;;;;;;:,:........     .,:;:,::;;;;;:::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:::,....:'';;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     ..........:::.::::::,.:;;;;,......        ..:::.:::;:;;;':.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,,........;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''     .........:::.::::::::::;;'               .::;:.:::::::;;;.;';;;;;;;;;;;;;;;;;;;;;;;;;;''::.............:;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`    ..`.....,::.::::::::::::;`             .::;;,.,:::::::;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;';................,;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',    .  ....,::.,::::::::::::,            ,::;;:..,:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,.................:';;;;;;;;
;;;;;;;;;;;;,.........;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';:   `  .....::.,:::,..,,::::::.        ,:::;';:..:::'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,......`...........;';;;;;;;
;;;;;;;;;;;::.........;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;     `....::..::......::::::::;`     ,:::;;;:,,:::;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,::::::,,:,..........:;;;;;;;;
;;;;;;;;;;'::......  .:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     ....::,.::......:::::::::::     ::::'::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::........,::`.....,::;';;;;;;
;;;;;;;;;;'::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''`   `...,::.::......::::,,::::::     :::;::::::::,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:...........,:....:::::'';;;;;
;;;;;;;;;;;;::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'`   `...:,.::......::::..::::::::   :,::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,................::::::;;;;;;;
;;;;;;;;;;;;::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,    ..,..::......::::...::::::::::::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:...............,,::::::;;;;;;;
;;;;;;;;;;;'::.`      `.;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    `...:,......,::,...::::::::::::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::...............::::::::;;;;;;;
;;;;;;;;;;;'::,.       .;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'`   ...,.......,::,...::::::::::::::::::::::,.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,...............::;::::::;;;;;;
;;;;;;;;;;;;;::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:   ...........::,....::::::::::::::::::::::.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::................::;::::::;;;;;;
;;;;;;;;;;;;;::.       `,';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',   ... `.....::,....::........,::::::::::::,:;;;;;;;;;;;;;;;;;;;;;;;;;;;,:...............,:'';:::::;;;;;;
;;;;;;;;;;;;'::,`       .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';        .....::,...............,:::::::::::,..;;;;;;;;;;;;;;;;;;;;;;;;;;:,...............::;;;:::::;;;;;;
;;;;;;;;;;;;;:::.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.       ....::................::::::::::::,...';;;;;;;;;;;;;;;;;;;;;;;::...............,::;';;::::';;;;;
;;;;;;;;;;;;;;::.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:     `...,:................::::::::::::,...;;;;;;;;;;;;;;;;;;;;;;;;,,...............::;;;;;:::';;;;;;
;;;;;;;;;;;;;;::.        .';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     `....................::..,:::::::,...:;';;;;;;;;;;;;;;;;;;;';:................::;;;;;:::;;;;;;;
;;;;;;;;;;;;;;::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';     `...................::...:::::::,....;;;;;;;;;;;;;;;;;;;;;;::...............,::';;;;::;;;;;;;;
;;;;;;;;;;;;;;:::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';':;;;;     ...................:,....::::::,....;;;;;;;;;;;;;;;;;;;;;;:,...............::;';;;'::;;;;;;;;
;;;;;;;;;;;;;;;::.       `.'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';,:::::;`   .........................::::::.....:;;;;;;;;;;;;;;;;;;;;;:................::'';;';::';;;;;;;
;;;;;;;;;;;;;;'::.`       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;':,:::::::;:  `........................::::::.....,;;;;;;;;;;;;;;;;;;';:,...............:::;;;;;;::;;;;;;;;
;;;;;;;;;;;;;;;:::.       .:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',:::::::::::'  ........................::::::.....,';;;;;;;;;;;;;;;;;;;:................::;;;;;'::;;;;;;;;;
;;;;;;;;;;;;;;;:::.       `,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,:::::::::::::   .......................:::::,.....,;;;;;;;;;;;;;;;;;;;;:...............,::';;;;;::';;;;;;;;
;;;;;;;;;;;;;;;;::.`       .;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;'::,::::::::::::::::   `.....................:::::......:;;;;;;;;;;;;;;;;;;;:,...............::;';;';::;;';;;;;;;
;;;;;;;;;;;;;;;;::,.       .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;';:::::::::::::::,,,,,,.   ...................,:::::......;;;;;;;;;;;;;;;;;;;;:...............,::';;;''::;;;;;;;;;;
;;;;;;;;;;;;;;;':::.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:::::::::::::,,....,:;;;.   ..................,::::,......;;;;;;;;;;;;;;;;;;;;:...............:::;;;;;;::'';;;;;;;;
;;;;;;;;;;;;;;;;;::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';:::::,:::::::::::::;;;;;;',     ``..............:::::.......;;;;;;;;;;;;;;;;;;':,...............::;;;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;;::.`       .;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';':.,::::::,..::::::::;;:;;;;;;'  .       ............::::,.......;;;;;;;;;;;;;;;;;';:...............,::';;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;;::,.       .,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,:::::::::::...,:::::;;;;';;';,  .        `...........:::,.......;;;;;;;;;;;;;;;;;;:,...............:::';;;;;::;;;;;;;;;;;
;;;;;;;;;;;;;;;;':::.        .;;;;;;;;;;;;;;;;;;;;';;;::;;';;;;;;;;;';;;:;::,::::::,,:::::::..,:,:::;;;;;;':             ..........,:::,......,;;;;;;;;;;;;;;;;;':................::;';;''::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;::.        .;;;;;;;;;;;;;;;;;;;;';:..::;';;;;;;;';;:::::::::::::::....,:::::,...,:::;;;;;`              .........:;::.......:;;;;;;;;;;;;;;;;;;:...............:::';;;''::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;::,.       .:';;;;;;;;;;;;;;;;':,....::::;'';;';::::,,::::::::,:::.......:::::';'''';''.`                ........:;::.......;;;;;;;;;;;;;;;;;;:,...............::;;;;;';::;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;:::.       `,;;;;;;;;;;;;;;;;;,.....,,::::::;;';::,::::::::...` `,.....;';'';,.:';';;,. ,             .`  ......,:;::.......;;;;;;;;;;;;;;;;;;:...............,::';;;;'::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;:::.        .';;;;;;;;;;;;;;;;,...,,::::::::::::,......,,` ...    `......;;;;';;;;:.   `:             ..........:::::......:;;;;;;;;;;;;;;;;;:,...............:::;;;;;'::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;::.`       .;;;;;;;;;;;;;;;;;:..,:::::::::::::,.........   `.        .....:''',.    ,';`             .........::;:::,.....;';;;;;;;;;;;;;;;;:,...............::;;;;;';::;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;'::,.       .,';;;;;;;;;;;;;;.....::::::::::::,..........               `.....`    :';''              ........,:;;:::,.....';;;;;;;;;;;;;;;;;:...............,::';;;;;::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;:::.        .';;;;;;;;;;;;;;.......,,::::::::...  ..  ..                  `.   ''';';;'              ........::;'::::....,;';;;;;;;;;;;;;;;;::..............::;'';;';::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;...:;;:.....,,,,....        `                    .';;;;;;';              .......,:;;;::::....;;;;;;;;;;;;;;;;;;;::,............,::;;;;;':::;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;::.`       .:;;;;;;;;;;;;;;..;;''';............                    .;':,`  `'''';;;;';             `.......:;;;;::::....;;;;;;;;;;;;;;;;;;;::::,..........:::;;;;;'::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;::,.        .;;;;;;;;;;;;;:..;;;;;;;..... .....`                ,:;;;;;;;;;;;;;;;;;;'.             .......::;';:::::....;;;;;;;;;;;;;;;;;;;:::::::........::;;;;;;;::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;:::.        .';;;;;;;;;;;;..:;;;;;;;:...`  .....              :;';;;;;;;;;;;;;;;;;;;'              ......::';;;:::::...:';;;;;;;;;;;;;;;;;;:::::::::,....,::;;;;;;:::;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;:::.`       .;;;;;;;;;;;;;,,';;;;;;;....`      ..         ;;';';;;;;;;;;;;;;;;;;;;;;;               ....::;;;;:::::,...;;;;;;;;;;;;;;;;;;;;,,:::::::::::,::;;;;;;;::;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;::,.       `,';;;;;;;;;;;;;;;;';':......         .     :;;;;;;;;;;;;;;;;;;;;;;;;;;;;        `.     ...::;';':::::,....';;;;;;;;;;;;;;;;;;:..::::::::::::,:;;;;'';::;';;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;';;,,,,......       ;;;;':,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     `....     `.:::;';;:::::....,;;;;;;;;;;;;;;;;;;;:...:::::::::::::;;;;;;:::'';;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;';.`.......`      .';'';';';''';;;;;;;;;;;;;;;;;;;;;;;;;;;     `.....    .,::';;;:::::.....:'';;;;;;;;;;;;;;;;;,.....,:::::::,,:;;;;;'::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;:::.`       `,;;;;;;;;;;;;;',    ``.       :';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     .......`  .::;;;::::::...,..;;;;;;;;;;;;;;;;;;;:.........,....::::;;;;;::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;::,.        .';;;;;;;;;;;;';;           .'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     ........  ,::;:::::::..,::..;;;;;;;;;;;;;;;;;;;:..............::::;;;;:::';;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;,,,:, `:;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.     ..........:::::::::::.::::.,;;;;;;;;;;;;;;;;;;;,.............,:::::;';::;';;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;:::.`       .:;;;;;;;;;;;;;;;;;;';';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';     `..........:::::::::::::::,.;';;;;;;;;;;;;;;;;;:..............::::::;';::;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::..        .;;;;;;;;;;;;;;;;;;;;';';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     ..........,:::::::::::::;:..';;;;;;;;;;;;;;;;;;:.............,:::::::;:::';;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::,.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';     .........,::::::;;:::::;::..;;;;;;;;;;;;;;;;;;;,.............:::::::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:::.        .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,     `........::::::;;;::::;;::.:;;;;;;;;;;;;;;;;;;:..............::;;:::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:::.`       `,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.      .......,:::::';;;'::;;:::.;;;;;;;;;;;;;;;;;;;:.............,::;;:::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;:,:::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`      .......:.:::';;;;;;;;;::..;;;;;;;;;;;;;;;;;;;:.............:::';':::::;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;,::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;       `....,:..::;;;;;;;';;;:,..;;;;;;;;;;;;;;;;;;;,.............::;'';;::::;';;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;::::,,..,,,,,`      ,::::::.,,,,,,.,::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        ........::;;;;;;;'''::..,;;;;;;;;;;;;;;;;;;:.............,::;;;;'::::';;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::       .::::::         ::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        `.......::;;;;;;;;;::...:;;;;;;;;;;;;;;;';;:.............:::;;;;';::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;';::::::::::::       .::::::         :::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;         ......,::;;;;;;;;::,.,.;;;;;;;;;;;;;;;;;;;,.............::;;;;;;;::;'';;;;;;;;;;;;;;;;;;
''''''''''''''''''''''';::::::::::::       .::::::         :::::::::::::'''''''';;''';;'';;;;;;;;;;;;;;          .....,::;;;;;;':::.,:.;;;;;;;;;;;;;;;;;;:.............,::;;;;;;;::;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::;:,,,,..,,,,,,``````.,,,,,,........,,,,,,,,,,,,,::::::::::::::::::;;;;;;;;;;;;;'`         .....:::;;;;;;:::::::.;;;;;;;;;;;;;;;;;':.............::;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;
,::::::::::::::::::::::::,,,,,,,,,,.,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::;;;;;;;;;;;;;'`         `....:::;;;;;;:::::::.;;;;;;;;;;;;;;;;;;,.............::'';;;;;::;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::';;;;;;;;;;;;`          ....:::;;;;;;:::::::.;;;;;;;;;;;;;;;;;:.............:::;;;;'';::;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;`          ....:::;;;;;::::::::.;;;;;;;;;;;;;;;;':.............::;'';;''::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;';;;;;;;;;;;;.          `...:::;;;;;::::::::.;;;;;;;;;;;;;;;;;,............,::';;;;;'::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'.          ....:::;;;;;:::::;::.;;;;;;;;;;;;;;;':.............:::';;;;';::;;;;;;;;;;;;;;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'.       .  ....:::;;;;;:::::;:,.,;;;;;;;;;;;;;;;:.............::;';;;;'::;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::;;;;;;;;;;;;;;;;;      `.......:::;;;;;::::;::,..;;;;;;;;;;;;;;;,............,::;;;;;;'::;;;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::,,,,,:::::::::::::::::::::::::::,,::::::::::::::::::::::::::::::::::::.;;;;;;;;;;;;;;;;;;;      ........:::;;;;;::::'::...;;;;;;;;;;;;;;:.............:::'';;;;;::';;;;;;;;;;;;;;;;;;;;;;;
::::::::::::::,....:::::::::::::::::::::::::::..,:::::::::::::::::::::::::::::::::::.;;';;;;;;;;;;;;;;';      `.......:::;;;;';::;;::...;;;;;;;;;;;;;':.............::;';;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;
miter.sidorov@gmail.com