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