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