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