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