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