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