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