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