:::::.` `;;;;''''''''';;;::;;';;::;;;:::::::::::::::::::::::::::::::::::::::::::,,::::::::::::::,:::::::::::::::::::::::::::::::#################+####+##########+#######+#+##############++############
:::::.` `;;;;''''''''';;;::;;';;::;:;::::::::::::::::::::::::::::::,::::::::::::::,,,:::::::::::::::::::::::::::::::::::::::::::#######+############;..++#########################+#####################
:::::.` `;;;;''''''''';;;::;'';;::;;:::::::::::::::::::::::::::::::::::,:,:::::::,,:,:::::::::::::::::::::::::::::::::::::::::::############+#+###+,`..;++++++##########+++###########+#################
:::::.` `;;;;''''''''';;;::;;';:::;:;::::::::::::::,,....,:::::::::::::::::,:::::,,:,::::,::::::::::::::::::::::::::::::::::::::+#+#############+'```..:+#+++++++++++#########++##########+#+###########
:::::.` `;';;''''''''';;;::;;';;::;;;;:::::::,,..` `,::::::::::::,:,::::,,:::,::::::::::::::::::::::::::::::::::::::::::#######+++######'````..:##++++++++##+#####++######+#+###################
:::::.` `;;;;''''''''';;;::;;';:::;;;;::,.` `,::::::::,,,,:::::,:,,,,::::::,:,:,::,:::,:,::::::::::::::::::::::##############++``````.,########+++########+##+++#############+#########
:::::.` `;;;;'''''''';;;;::;;';;::;;:,. `.:::::::,,,,,,:::,,,:,:,::,:,,...,,,:,,,:,:::::::::::::::::::::::#+#############;``````.,++###########+++++##########+###################
:::::.` `;;;;'''''''';;;;::;;';;::,` ````` ```.::::::::,,,,::,:,,,,,,,,,,,,,,...,,:,:,,,,,:,::::::::::::::::::#######++#+####```````.,#+++++########+##+###+###########++#############
:::::.` `;;;;'''''''';;;;::;;';::` `````````````` .,::::::,,,,,,,,,,,,,:,,,,.,,,,.,,,::,,::,,,:,,::::::::::::::::############++' ` ```..#++###+++++++####+#+#####++++###########+#######
:::::.` `;;;;'''''''';;;;::;;';:` ``` ````````````.,:::::,,:,,,,,,,,,,:,.````..,::,:;;:,,,,:,,,:::::::::::::::::###+#########+; `` ``..'++#######+####++++++###########+++++###########
:::::.` `;;;;'''''''';;;;:;;'';` `` ``` ``````````.::::,:,,,,,:,,,:,:,..,,,:;:,:+';;;;:,::::,:::;;;;:::::::::::#########+++##, ``` ``..;###++++++++##+++####++++####+##################
:::::.` `;;;;''''''''';;;::;;;````````````` ```` ``````````,::::,,,,,,,,,,:,,,,:;;;;;'';;+';;'';::::::::::;;;;:::::::::##############` `` ` `..:++#++++++++++++++#+#+;::'++++##################
:::::,` `;;;;''''''''';;;:;;;``````````````````` ``...````..,:,,:,,,,,,,::,,,:;:::::;;'';;'';;''';;:;:;;::::;;;;:::::::#+####+######+ ` ..,+++++++#+++++++++++:......:+######+############
:::::.` `;;;;'''''''';;;;::;````..```.````....````` ` ``....``..,::,,,,,,,,,,,,,:::::::;;''+';'';''++';;;;;;;;;;;''';;:::::++#++##++++++' `` `..++#+++++++++#+++++.`....,,.,++##+##############
:::::,` `;;;;'''''''';;;;:;,``....`...........```````````` ``.,,.....,,,:,,,,,,:,,,,,:,:::;:;'+++';;''++#++'''''''';;;;'';;;;:::#+#####+#+#++' `` `..+##+##+++#+++++++,,.....,,,,,'##++++###########
:::::,` `;;;;'''''''';;;;::............,,,,..............`` `........,:,,,,,,,:,,,,,,,::::;;;'+++#+''++###+++++;'++;;;;;''';;;::####+++++++++; ``` `.;++++++++++++++;,:,..,,,:;';:,'################
:::::.` `;;;;'''''''';;;;:,.....,,.,,,,,,,,,...............```.,,,,,.,,,:,:,,,,,,,,,:::;;;;'+++###+#+';:;+#'+#+;,'++;;'''''';';:++#########++: ` ``.,+++++#+++++++'.:,...,,,::;;:,,#############++#
:::::,` `;;;;''''''''';;;:,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,...``.,,,,,,.,,,,,,,,,,,,,,::;;;'''++#######'';,++:;++';:'++';''''''';;#+++####+####, ````..+++++++++++++.,,,...,,,,::;;,,:#++++##########
:::::,` `;;;;''''''''';;;:..,,,,,,,,,::::::::,,,,,,,,,,,,,,.`..,::::,,,,,,,,,,,,,,,,:;:;';;'+++++++++++',';;;'+;+;:'++''''''''''######++++#++, ` ``.++++++++++++;.:,.....,,:::::,:,###+####+######
:::::,` `;;;;'''''''';;;;:.,,,,,,::::::::::::,,:,,,::::,,,,,...,:;;:::,,,,,,,,,,,,,:;::;;;''';;;;;;''++;,;:'''+''';'#+++'''';'''######+####++. ````.;+++++++#+++.,,......,,::::,,:,+++############
:::::,` `;;;;''''''''';;;:,,,,,,:::::::::::::::::::::::,:::,,,,.:;;;;::,,,,,,,,,,,,::,;;;'';:;;;;;;;''';,';'''+''#''###++'''';''#######++#+++. ```.:++##+++###+.,......,,,::;:,,,,+++#+++########
:::::,` `;;;;'''''''';;;;,,,,,,,:::::::;:::::::::::::::::::::,,,;:;;;;;:,,,,,,,,,,,:::;;;;:;;;:,,::;;;';,''+''+''#+'+###++''';''######+++++++. ```.++++++++#+;,,,.......,::;:,,,.+####++######+#
:::::,` `;;;;''''''''';;;,,,,:::::::::;:::::::::::;:;;:;;;;:::,:;;;;;;;;:,,,,,,,,,:::::;:;;;:,...,,:;;';,''+''#++##;'####++'+';'######+#+++++` ````.+++++++#+#:,,.......,,::;:,,,,++#++++########
:::::,` `;;;;''''''''';;:,,,,::::::::;::::::;::::;:;;;;;;;;:::::;:;;:;;;;,,,,,,,,,:,:::;;;;:,,,,,,::;;';,'++''#++##+;+###@++'+''+###+#+++#+++` ``.'++++#++++:,,.......,,::::,,,:#+#+#####++++##
:::::,` .;;;;''''''''';;:,:,::;::;;:;;::::::::::;;;;;;;;;;;;:::;;;::::;;;:,,,,,,,,:,,::;;;:,,,,,::::;;';,'+++;+++###;;#####++'+'####+###+++++` ```:+++++++++':;;:,,,,,:;:;;:...;#++##########+#
,,``,,` .;;;;''''''''';;:,:,:::;;;;;;;;;;;:::::;;;;;;;;;;;;;:;;:;;::::;;;:,,,,,,,,,,,,:::,...,,:::::;;':,'+++;++'###';+###@#++''#############` ```.#++++++++;,,::;,:;;;;;;;;,,.;#######+##+++##
``.`..` .;;;;''''''''';;:,,,:;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;:;;::;:::::;::,,,,,,,,:,,,,,..``..,,,,::;;':,;'++;'+'###';;######++'############+. ```.+++++#+++:,:;;:,;;;;:;;::,,.+##############+
,,:::,` .:;;;''''''''';;,,,:;;;;;;;;;;;;;;;:;;;;;;;;;;;;;::::;:::::::::::,.,,,,,,,:,..........,,,,,::;;;,:''+;;';##++;;####@#+++#####++#+++++. ```'#++++#++:.,,,,:;::''';:,;';+++++++#########
;'''';. :';;;''''''''';:,,,:;;;;;;;;;;;;;;;;;;'';'+';;;:;:::::::::::::::::,,,,,,,,:..,,,,,.....,,,,::;;;,:;'+':';+#++';'##+@##++#####+#+++++#` ```,#+++++++:,..,,:;::,;;::,;'++##+++++#+++++##
+++''';:+++';'''''''';;,,,:;;;;;;;;;;;;;;;;;;'';;;'+';;;::::;::;;::::::::;:,,,,,,,,,,,::;::,....,::::;;;,,;''+:';;#++';'##+#@#+++#+#+###+++++` ```.++++++++:,..,,;;:,,,:::,'''+++++++++######+
##++++'+##+';'''''''';:.,::;;;;;';;;;;;;;;;;'++;;;++';:;;;;;::;;:::::::::;:,,,,,,:'+::''+++';,.,,:::;;;':,:'''';;;#++'''##++@#+'######+##+#++` `.'+++++++:,.::;+;;,,,:::,'+;#######++++###+#
#####++###+';'''''''';;,,:;;;;;;';;;;;;;;;;;'+';;;'#';;::;;:;;;;;::::::::;,,,,,,,:'+;;''++'';;;::::::;;';,:;';';;;+'#+;'##''##+'############+` ``.,+++++++:::,,;;;:,,::::,'''+##+#+##+######+
###########';'''''''';;,,:;;;;;''';;;;;;;;;;+++'';;#;;:;;;::::::::::::::::,,,,,,,,'+;;;'''+;;;;;;::::;;'':::'';';;''++;'+#+'+#++#####+#####+'` ``.+++++++:,:,..,,::::::,,;'##+#++###+#######
###########':'''''''';;::;;;;;;'';;;;;;;;'''+++'';+';;:;;::::::::::;:;;;;;,,,,,,,,:+,;;''''';;;;;:::::;'';:,;+';;:;;'+';+#+;+##++########+++;` ````;++++++;,,;;:::;:::;;,,:##+######++++++++#
##########++;;''''''';;::;;;;;;;';;;;;;;;'''+++';:+;;;:;::::::::::::;;;'';,,,,,,,:;:,;;'+''''';;;:::::;;'+:::'';';;;;+''+++'++#+##########+#: `,#+#+##+,,,,:;'':,::;:;;###++###+++++++###
##########++';''''''';;::;;;;;;;;;;;;;;;''''+++'':';;;;;:::::::::::::::;'':.,,,,,',.:;;++'''''';;::::::;;';::;';;;:::;+''++'+###+###+#######,` ``++++++#:,,,,:::::;;';,##########+++++####
###########++'''''''';;::;;;;;;;;;;;;;;;''''+++';;'';:::::,::::::::::::::;;,.,,,,`.,;;''+#+++'';;::::::;''+;::';;';:::++'''++######+#++++++#. `` ``.`:++++##;,,,,:::,;;;';,#############++#+++
+########++++,''''''';;::;;;;;;;;;;';;;;'''''++';;;#':;::::::::::::::::::;',..,,`.:;;;;''###++';;;::::::''''::;;:;';::'+'++#+######+++++++++````,,..` ` ` .``####+#+;,,,,,::;:;':;#####+#+###+#+#####
+##########++::'''''';;;:;;;;;;;;;;;;;;;;''''+++'';#+::::::::::::::::::::;':..,..:;;:,:::;';;;;;;;::::::;''+'::;;:;;::'++++#+######+++##++++ ```:::: `` ````;+++;..:;::::'+'''';;##############+++++
+###########+':'''''';;;:;;';;';;;;;;;;;;'''''++'';'+':::,:::::::::::::::;';,.``.:;;:......::;::::::::::;'+''';;;;:';:'+'+###@@#+++++++++++,````::::` `` ````,#+'`..;:;'+++';'';.#####+##############
###########+++',;'''';;;:;''';';;';;;;;;''''''++';;;;+::::::::::::::::;;;;'';,,:;;;';,```...::;:::::::::;;'++'';'';;;:;+++####@#++++++++++;`````:;;:` `` ``````:++.`.:+::''';;'':..,###++++++++##+#+###
+#########++++'::;''';;;::';';';';;;;;;;''''''+#+;;;;;;;;:::::::::::::;;;;'';;';;,,:;:.`..,:::::::::;,.,;;'+++';''';;:;++++##@@####++++++;``` ``::::` :#@':,```.:'',.`,#::;::;':````..,'###+++++###+++++
##########++++'';;''';;;::'';'';;;;;;;'''''''++#+';;;;;;::::::::::::::;;';'';+'+'';;'',.,,::::::::;'';:::;;'++#+'++;;:;++++##@@###+####+'.```.,..:::.#@@@#;.```.'''''..#;:,::,`````.::'++#####++########
##########+++++'';;'';;;::;;;';;';;;;;''''''''++#+';;;;;;::::::::::::;;''''+';++##+;+'::::::::::::;'';;;;;''''''++#+;;;++++##@#####+#+++...```.'`:::,,@@@#; ```.';''+;`'+:.``.````.;'+++++####+#++++++##
:;+#######+++++++';;';;;::;;''''';;;;''''''''''++#+';;;;;::::::::::::;''+++##;++++#++;;;;;;;::::;;;+';';;;''''''''+#';'##+#+#@@#####++#;`., `..`:::,``:';```...,,:,':,``````````.;;;''''++#########+###
::;+#+++#++++++##+';';;;::;;'''''''';;'''''';'''++++';;;;;:;::::::::;;;'++'+#'+++'''''';;;;;:::;;;'+;;;;;;'''''';'+#+;'##+#+#@######+++`,.. ```::::.,:::;::;',,.....`````````````....,,:;;+########+##
::;++++++++++++###+;;;;;:::'''++'''''''''''';''''++++'';;;;;::::::::;;;'+++++';''''''++'';;;;;;;;;+';;;;;;'+++'''++++''###++###++#####;`... ``::::::;::;;::;;,.``..```````` ```.```````....,'#+#++++++