,,,,,,,,,,,,...,................................................................,~)>%%&&&%&%%%=??>=%==%%%===+~,,,,,,,,..........................................
,,,,,,,,,,,,,,,.......,........................................................,~+>=%&&&%%%%%%%%%&&%%&&&&&&%=>;--:-^,,,,,,......................................
,,,,,,,,,,,,,,,,.,..,..........................................................~!>?????????====%&&&&&&$&&&&&%%%%==>+!:^,,,,.....................................
,,,,,,,,,,,,,,,,...,..........................................................^*+???===============%&&&&&&&&&&&%%%=%?+>:,,,,....................................
,,,,,,,,,,,,,,,,.,.,,,......................................................~!;~;)====================%&&&&&&&&&&%&&%%==;,,,,...................................
,,,,,,,,,,,,,,...,....,...................................................~)!^,.~)=======================%&&&&&&&&&&&&%%>-,,,...................................
,,,,,,,,,,..............................................................,;?+,~.?=====?=====================%&&&$&&&&&&&%=+~,,,..................................
,,,,,,,,,,,............................................................,)?+-!->=-!%>,~!;~;==?+?==========%===%&&&$&&&&&%%?*^,,,...................''''''........
..,,,,,,,.,,,.........................................................^+?),:^:--`;^,-,:,~?!?-~!>==========%%%==%&&&&&&&%%=>:,,..................''''''''''......
..,,,,,..,,,,........................................................,)?+-.,'.,,.)^^;!;~**):^?===============%%=%&&&&&&&%%=)^,................''''''''''''''....
..,,,,,,..................................................,^~~---~^,,;>?:?:,-*)?==^^?==?:-*)~;!%==============%%%=%&&&&&&%%?-,................''''''''''''''''..
..,,,,,..............................................,~;)>==%%%%%%==?=?+^~*>?================-*%================%%=%&&&&&&%=:^...............'''''''''''''''''''
...,,,,,...........................................~*?=%%&&&$$$$$$&&&%%%===???================?==================%%%=%&&&&&%?+:,...........'''''''''''''''''''''
...,,,,.,.,......................................->%%&&$$$$$$###$$$$$$$$&&%%%=?>>??================================%%=%&&&&%%%?*~,.........'''''''''''''''''''''
...,,....,................,,,..................~>%%&$$$$$$$##########$#$$$$$&%%%=?>>>???===========================%%%%%&$&&&&%?+-,.......''''''''''''''''''''''
.............................,,,.............,*%%&$$####$####################$$&%%==????????===%===%=============%=%%%%%%&&&&&%==+;^......''''''''''''''''''''''
...,,...........,,,........,,..,,...........~>%&$$##$#$#####$###################$$&&%=??????????==%%=%%%===========%%%%%%%&&&&%%=?>*-,....''''''''''''''''''''''
..............,,,,.,.............,,........-=%$$##$################################$&&%=???????????=%%%=%%=========%%%=%%%=&&&&&%=?>+!^...''''''''''''''''''''''
...........,,,,,,...,...........,.,.......:%&$$$#####################################$&&%==??????????==%%=%%%%=%========%%%=&&&&%%=?>>*-,.''''''''''''''''''''''
.........,,,,,,,,,,,,,...................-%&$$$########################################$&&%===??=?==?====%%%%%%%%======%%%%%%&&&&&%==??)-,.'''''''''''''''''''''
........,,,,,,,,,,,,,,,.................^=&$$$###########################################$$&%==============%%%%%%=%%===%=%%%%%&$&&%%==??*~,.''''''''''''''''''''
........,,,,,,,,,,,,,,,,,...............+%$$$$#############################################$$&%==============%%%%%%%%%%%%%%%%%%&&&&%%==>>!^,..''''''''''''''''''
........,,,,,,,,,..,,,,,,,,.....,......-%$$$$$$##############################################$$&%==============%%%%%%%%%%%%%%%%%&&&&%%=>++:^,..'''''''''''''''''
.........,,,,,,....,,,,,,..,...,,......+&$$#$$$################################################$$&%==============%%%%%%%%%%%%%%%&$&&%%=?**)~,,..''''''''''''''''
..........,,..,..,,,,,,,,,,,,,,,,,,...^%$$$##$##############################$$$$$$$$$$$$$$$######$$$%=============%&%%%%%%%%%%%%%&$&&%=>!:*!,.,..'''''''''''''''
...............,.,,,,^^^^,,,,,,,,.,,,.-&$$$$#$##########################$$$$$$$$&&&&&$$$$$$$$#######$$&%===========%%%%%%%%%%%%%%%&&&%=>;-!*~.....''''''''''''''
........'......,,,,^^^^^^^^^,,,,,,,,,.;&$$$###$#$####################$$$$$&&&&&%%%%%%&&&$$$###########$$&%===========%&%%%%%%%%%%%&&&%=>;~:):,...'.'''''''''''''
.......''''....,,.,,^^^^^^^^,,,...,.,,!$$$##$#######################$$$$&&%%%==?????=%&$$################$$&%%=========%%%%%%%%%%%%&&%?+!^^!*,.....'''''''''''''
......''''''...,,,,,^^^^^^^,,,........;$$$$#$######################$$$&&%%??>++)))+>=&$$#$#####$$$$$########$$&&%%======%%%%%%%%%%%&&%>**~,~)-....''''''''''''''
......''''''..,,,,,,^^^^^^^,,.........^&$$$##########################$$&%%?+)**!!*+?%&&$$$$$&&%%&&&&$$$#########$$$&&&%%%%&&%%%%%%%%&&>;!-,,!!,....'''''''''''''
....''''''''..,,,,,,,^^^^^^,,..........>$$$$##########################$$&%?+)****)>?%&&&&&%=??==%%&&$$$$$#################$&&%%%%%%%&&*-:-,.-*^....'''''''''''''
...'''''''''..,,,,,,^^^^^^^^,,.........^&$$$#########################$$$$&=>+))*)+>?=%%%==?++>?=%%&&&&$$$$$$$$$$$$$$$$#####$&&%%%%%%%=:~--^,^*:....'.'''''''''''
.'''''''''''..,,,,,^,,,^^^^^,,..........-&$$#$####################$$$$$&&%=?>+)*)+>?====?>++++>==%&&&&&&&&&&&&&%%%==%%$$###$$%&%%%%%%+~^~~^,,;;,....''''''''''''
''''''''''''...,,,,,,,,,,^^^^,,..........-&$$$$################$&&%%==%%%==?>+)*)+>?===??++++>?=%&&&&&&&&&&%%===??>>?=&$####$&%%%%%%=;~^,~~,,-!^....'.''''''''''
''''''''''''....,,,,.,,,,,^^^,,,..........,)&$$$$############$&&%%=??>???=??>+)!*+>?===?>>>>>>>=%&&&&&&&&&&%=??>>++++>=&$#$##$&%%%%%?-~,,~~,.~!^......''''''''''
''''''''''''''...,,,...,,,^^^^^,,...........,;>&$$###########&&%%==?>+++>???>+*!*+>?==?>>>?==%%&$$$$$$$&&%%%=?>+))))+>=&$##$##$&%%%%>~^,,^^^,^*^......''''''''''
''''''''''''''......,.,,,,,,^^^,,.,,...........,-*>%$#######&=%%%=??>>>>>>??>+)*)+>?=??>>?%&$$$$######$$$&%=?>+)****)+?&$$#$$##$&%%%)^^,,^^^,^!^......'''.''''''
'''''''''''''.....,,,,,,,,,,^^^^,,..................,~:!)>%#?+=====?>?==??>>>+))+>????>*+%$&?+&$$#$#$##$$%=?>+)*****)+?&$##$$$##$%%%;^,.,,,,,~;-..........''''''
''''''''''.....,,^^^^,^,,^^^^^^^,,........................,;*)=%%%%%%%%&%?>>>+)++>???>);=&%?>>?&%&&&&$&&%=?>+)**!!!!*+?%$$##$$$##&%%;^,.,,,,^:--.............'.'
''''''''''....,,^^^^^^^^^^^^^^^^^,,.........................~)=&$#$######&>)++)+>>???>+))))>>>?==%%%%%=?>>+))*!!!!!!*)?%$###$$&$#$&%!~,,,,,,--,-,..............'
''''''''.'.....,,^^^^^^^^^^^^^^^^,,........................,;?&##$%%$$$$$&?)+))+>>>?>>+))***)+>????>>++++))**!!!;;!!!)>%$###$$$&##$%!^,,,,^-;^,-,...............
'''''''''.'....,^^^^^^^^^^^^^^^^^,,........................,*=$$$&=?%=??+))))))+>>>>>>++)****!!*****)))))**!!!;;;;;!*)>%$###$$$&$$#&)~^^::-~^,.~~...............
''.'..'.......,,^^^^^^^^^^^^^^^^,,.........................^!!+=%%%=???+)))))))+>>>>+++))**!!!!!!!!!****!!!!;;;;;;!!*)>%$$###$$$&$$$>-~^^,,,,,.,-...............
''.............,^^^^^^^^^^^^^^^^^,.........................~!-:!+>>>>+***)))))+>>>>>++))**!!!;;;;;;;;;;;;;;;;;;;;!!*)+>%$$$###$$%&&&?~,,,,,,,,.,-.,.............
...............,,^^^^^^^^^^^^^^^^,,.......................,-!~-;!***!!!****)))++>>>++))*!!!!;;;;::::::;;;;;;;;;!!!*)++?%$$$$##$&$%&&?~^,,,,,,,.,-,,.............
...............,,,,^^^^^^^^^^^^^,,,,,.....................^:;~-:;;!!!!!!****!**)+>>>))*!!;;;;;:::---::;;;;!!!!!!*))++>?%&$$$$#$$&&&%%!^,,,,,^,.,~^,,............
...............,,,,,,,,,,^^^^^,,,,,,,,...................,^-;~-:;;;;;!!!;::--;!**)>>+*!;;:::::::---::;;!!!*****))++>>??%&$$$$#$$&$%&%=:^,,,,,,.,^-,,............
................,,,,,,,,,,,^,^,,,,,,,,...................,,::~-:;;;;;;;;:!!!*+>>>+)+>)!;::--------::;;!!**)))))++>>>??=%&$$$$$$$&&&%%=>-^,,,,,.,,-,,............
................,,,,,...,,,,,^,,,,,......................,,:-~-:::::;;::!))++>?==>++++*:---------:::;!!**)))+++>>>????=%&$$$$$$$$%&%&==)-,,^,.,,,:,,..,.........
...................,,....,,,,^^,,,,,....................,,.:~--::::::::-*?=>>?&##$?>+++;-~~~~----::;!!**))+++>>>>????==%&$$$$$$$$&%&%%?>*~,^,,,,,-,,............
.....................,...,,,^^^^^^,,,..................,,..:--::::::----)%$%??%%$#&>>>>!-~~~~---::;;!**))+++>>>>????===%&$$$$$$$$&%&&%?>>:^^,,,,,-,,..,.........
........................,,,,^^^,^^,^^^.................,..,:-:::-:-----~*>=?+??++=>)>?>!-~~~~--::;;!**))+++>>>>?????==%&&&%&$$$$&&%%&%=+>!-^,,,,,-^,...,,.......
,,,,.,,...............,,,^^^^^^,^,,^^^,...............,...,::::::-----~~:))!;)*!!*+??>*:--~~--::;;!!*)))++>>>>??????==%%&%%%$$$$$&%=&%=?+);^,,,,,~^,..,.........
,,,,,,,,.............,,^^^^^^^^,,,,^,,,..............,,...,;:::::-----~-:!*::;:-:!*!;;::------::;!!**))+++>>>>>??????=%%%%=&&&%&$&&==&%=++*~,,,,,~~,,,,,.,,,..,.
,,,,,,,,,...........,,,,^^^~~~~,,,^,,,,..............,....^-;;;::----~---:;;!!;!!!!;;:::-----::;;!!*))+++>>>>>>?????==%%%%$$&%=%&&&%?%%=?+)-,,,,,~~,,.,....,....
,,,,,,,,,,.........,,,,,^^^~~~~^,,,.................,....,,~!;;;::---~---;!!!;!!!!!!;;::----::;;!!**))+++>>>>>>>>???==%%%%&%%%=%&$&%??&=?)+:~,,,,~~,,,,,,,,,,,,.
,,,,,,,,,,,,......,,,,^^^^^^^~~~^........................,,^)=%;::------;****))))))*!;;::--:::;;!!*)))+++>>>>>>>>>??=%%%%=>>%&&&&$&%%>%%?>+!-^,,,~~,,,,,,,,,,,,,
,,,,,,,,,,,,,......,,,^^^^^^^^^^,........................,~=$$$!::---~~!)+>>?????>>>+*!;:::::;;!!**))++++>>>>>>>>>>?=%%%==>>%%&&&$$&%>?&=>+)-~,,,~^,,,,,,,,,,,,,
,,,,,,,,,,,,,,.....,,,^^^^^^^,...........................:&$$$$>;:---~;+??=%%%%%===???+!;;::;;;!!**))+++++++++>+>>>?=%%??)-!+?%$$$$$%=>%=>>+;^^,,~^,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,....,,^^^^^^,,,.........................*&$$$$#?;::---+?=%&&&%%%%%%%%==?)!!!!!!!***)))+++++++++++>>?=%%==*,;+&$##$$$&=??%?>+)~^,,~^,,,,,,,,,,,,,
,,,,,,,,,,,,,,,......,,^^^^^,,,........................+$$$$$##+;*?%&&%=%&&%>))!!*?%%%%%%>)***!****)))+++++++++++>>?=&$$&%*->###$$$&$=?>%=>++;^^,-^,,,,,,,,,,,,,
,,,,,,,,,,,,,,.......,,^^^^^,,,......................,>$$$$$###>%$$$$$#&&$$%)))))+>?===%%?+)*******)))))))))))+++>>?=$####$%####$$$&$%?>==>)+*-~,-^,,,,,,,,,,,,,
,,,,,,,,,,,,,,,......,,^^^^^^,,.....................,?$$$$$###$$$$$$$##$&=>+)))*****))++)*)))******))))))))))))++>?=%###########$$$&&&??>=?))):-^-,,,,,,,,,,,,,,
,,,,,,,,,,,,,,.......,,^^^^^^,,....................~%$$$$####$$$$$$####=***!;;;;;!)+++++))*)))****))))))))))))+++>?=&###########$&$&&&=?>==>*)*-~-,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,.......,^~~~::;::::::;;;;!!!***))))+?%%%%%&&$$$$$$$####$*>>>+)))+>?=====>+))**)))))))))))))))))++>>?=&$#@########$&$&&&=?>?=?)*!;:-,,,,,,,,,,,,,,
,,,,,,,,,,,,,,........^:?>!;;)%%=????????====???========%$$$$$$$$#####??%%%=====%%&&&=?+))))))))))))))))))))+++>>?=%$##########$&&$$%&=?>>==>**:!-,,,,,,,,,,,,,,
,,,,,,,,,,,,,,......^-;!+=*;:;?%%=??????????=?????====%&$$$$$$$#######>=&$$&&$$$$$&%?>+)))*)))))))))))))))+++>>>?==%$########$#$&&$$%&%?>>==?)*:;:^,,,,,,,,,,,,,
,,,,,,,,,,,,,,.....,!+!:;??!!*?&%=======%%====%%%%%&&&$$$$$$$$########>=%&$$$$&%?>)*!!!!****)))))))))))+++++>>??==%&$########$$$%&$&%&=?>+==?>*;-!^,,,,,,,,,,,,,
,,,,,,,,,,,,,,,...,-=!!);*%++?&$&&&&&&&&&&&&&&&$&$$$$$$$$$$$$$#######&?==%%=?>+*;::-::;;!!****))))+++++++>>>???==%&&########$$$&%&$&%&==>+?==>)*-:-^,,,,,,,,,,,,
,,,,,,,,,,,,,,,...,->**)!?%=?%#$$$$$$$$$$$$$$$$#####$$$$$$$######$&&%>>????>+*;:-~~---:;;!****)))+++++>>>???==%%%&&$#@######$$$%%$&&%&==>>>==?+);--~^,,,,,,,,,,,
,,,,,,,,,,,,,,,.,,.,~+==>&&%%$##$$##################$$$$$$#####%!:!!*+>>>++)*;:-~~~--::;!!***))++++>>>???===%%%&&&&$#@#####$#$&=%$$%=&==>>+===>)*-~-^,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,~^*+=%$%%%%=??>>+))*!!*$$#####$#$$$$#####>~,;;!))+++)))*;:::--::;;!!!**)+++>>>???===%%%&&&$&&&$#######$$$%=&$$%=&==>>+===?+):^~~^^,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,..,^...............>$$######$$$#####$+..~;!*))+++++))**!!!!!!!***)))++>>???==%%%&&&&$$$&&&&#######$#$$%=$$&%%%=?>>+?==?++;^^~~^,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,....................-$$$$#####$######%:''.:!!*)++++>>>++)))**)))))+++>>??==%%%&&&&$$$$$$&&&&$#######$$$$%=$$&%%%=?>>+?=%?>+*-^^~~^,,,^,,,,
,,,,,,,,,,,,,,,,,,,,,.....................=$$$$###########*.'''^;*;+>+++>>??>>>>++++++>>>???==%%&&&&$$$$$$$$$&&%%&$#######$$$&=%$&%%%=%?>?+??==>>);^^^~~,,,,,,,,
,^,,,,,,,,,,,,,,,,,,,,...................!&$$$$$#$######$-.''',~:*;+=?>>>?====?????????===%%&&&&$$$$$$$$$$$&&&%%%&$######$$$$&?%$&%%%=%?>>+?===?++*~^^^-^,,,,,,,
,^^^^,,,,,,,,,,,,,,,,...................~&$$$$$$########!'',..^~:!;+=%=??=%%%%%%%%%%%%%&&&&&$$$$$$$$$$$$$$&&&%%%%&$#######$$$%?&$&%=%=%?>>>?===?>+);^^^^~^,,,,,,
^^^^^,,,,,,,,,,,,,,,,,..................?$$$$$$#######$*;>$$&?+;:;!+=%&&%%&&&&&&&&&$&$&$$$$$$$$$$$$$$$&&&&&%%%%%%&$########$$%?&$&%%%=%?>?>?==%?>++!-^^^^~^,,,,,
^^^^^^^^^^^^^^,,,,,,,,,,...............-$$$$$$$#######$$$$$$$$$$$%?>=%%&$$$$$$$$$%%&&&$$$$###$$$$$$&&&&&&%%%%%==%&&########$$==&&&%%%=%?>?>===%=>++);~^^^^~^,,,,
^^^^^^^^^^^^^^^^^,,,,,,,..............^=$$$$$$$$#$$$$$$$$&&&$$$$$$$$$&&&&$$$$###$%=%%&&$$$$$$$$$$&&&&&%%%%%%=====%&#######$$$==&$$&%%%%=??>===%=?++)*:^^^^^^^,,,
^^^^^^^^^~~~~~~^^^,,,,,,,,,,,,,,,..,,^?&$$$$$$$$$$$$$&$$$$$$$#$$$$$$$$#$$$#$$$###====%&&$$$$$$$$&&&&%%%%%%=======%&$#######$$=%&$$&%%%&=?=?%==%%?++)*;~^^^^^^,,,
^^^^^~~~~-------~~^^^,,,,,,,,,,,,,,,-=&&&$$$$$$$$$$&$&&&&$$$########$#$$##$$&$###=???=%%&&&$$&&&&&%%%%%====????==%&$#######$$=%%$$&%&%&===?%==%%=++);*:~^^^,^^,,
^^~~~---::;;;;;:--~^^^^,,,,,,,,,,,,;%&&&&&&$$$$&&$&&&&$$$$#############$####$$###=????=%%&&&&&&&%%%%=====???????==%$########$%%%$$&&&%&%===%==%%=>+):;!-^^^^^^^,
~~~--::;;!*)++)*;:-~~^^^^^^^^^^^^^^%&&&&&&&&&&&&&&$$$############################=?>>??=%%%%%%%%%======????>????==%&########$%%%$$&&&%&%%==%==%%%?+);-!:~^^^^^~^
~-::;;!*)+>?==?+*!;:---~~~~^^^^^^^!&&&&&&&&&$$#$#####$$$$$$$#####################=?>>>??==========??????>>>>>>>??=%&$#######$&%%$$$&&%&&%%=&%==%%?>)!~;!-~~~~~~-
:;;!*)+>?=%%&%%?>)*!;;::-----~~-~~)&&&&&&&&&&$$$#$$$$&&&&&$$$$#=+?$##############=?>>>???====????????>>>>>>>>>>>?==%$#######$&%%$$$$&&&&%%%$%%=%%=>+*--*:-~-----
!*)+>?=%%&&&&&&%=?>+))**!;;:::::::>&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$&%=&$###########=?>>>>???????????>>>>>>>>+++>>>??=%&##@#####$%&$$$$&&&&&%%$&%==%%>>);-;*::::::;
+>==%%&&&&&&&&&&%%==??>>>))*)*****=$&&&&&&&&&&&&&&&&&&&$$$####$#$$#$%&%&$########=?>>>>?????????>>>>>>>>++++++>>>?=%&$#@@####$%&&$$$$&&&&&%$&%%==%?>+!::)!!!***)
=%&&&&&&&&&$$&&&&&%%%%====????????&$&&&&&&&&&&&&&&&&$$$$$$########$##$%=&&$$$####=?>>>>>???????>>>>>>>>+++++++>>>?==%&##@####$&&&$$$$&&&&&&&$%&=%%=>>)!!))*++>>?
&$$$$$$$$$$$$&$&&&&&%&&&&&&&&&&%%%&$&&&&&&&&&&&&&&$$$$$$##############$&&&$&$####=?>>>>>??????>>>>>>>+++++++++>>>??=%&$#@####$&&&$$$$&&&&&&&$&&%%%%>>>)))++>?===
$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&$$$&%%&&&&&&&&$$$$$$###################$&$####$=?>>>>>?????>>>>>>>++++++++++>>>>?==%&$####&&&&&$$$$$&&&&&&$&&&%%%?>?+>>>+>=%%&
$$$$$$$$$$$$$$$$$&&&&&&&&&$&&&&&&&$$$&%%&&&&&&$$##$#########$$$###########$####@$=?>>>>??????>>>>>>>>++++))++++>>>??=%%&$##$&&&&$&$$$$$&&&&$$$&&%%%=>?>>??>?=%%&
$$$$$$$$$$$$$$$$$$$$&&$$$$$$$&&&&&$$$$&&&&&&$$#############&%=?%$###############&=?>>>>???????>>>>>>+++++)+++++>>>??==%&$#$&&&&&&$$$$$$$&&&$$$&&&%%%?>???=??=%%&
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&$$$###########@##%%???=%&$##########@#%=?>>>>???????>>>>>>+++++++++++>>>??===%&$&%%%&&&$$$$$$$&&$&$$&&&%%%=??>==?>=%&&
##$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$##############$%%?=?==%%&%&$$$$####$%?>>>>>????????>>>>>>++++))++++>>>>??==%%&%%%%&&&$$$$$$$$&$&$$&&&&%%%??>=%%>?%&&
##$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$$###############$&=?=?==%&&%&$$$$####&%??>>>>>????????>>>>+++)))+++++>>>>???==%%%%%%%&&$$$$$$$$$$$&$&&&&%%==???%%??=&&
####$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$###############&%?==?%=&&%&&$$$####$&%??>>>>?>??????>>>>++++))))+++++>>>>??==%%%%%%%%&&$$$$$$$$$$&$$$&&&%==???=%=?=&&
###$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$################&=?=?==%&&&&$$$$$###$&==??>>>>>????>>>>>>++++)))++++++>>>>>?=%%%%%%%%%%&&$$$$$$$$$&$$$$&&%%=????%==?%&
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$###############$=?==?%%&&&&&$$$$$###$&=?????>>>>>>>>>>>>++++))))+++++++>>>>?=%=%%%%%%%%&&&$$$$$$$$$&&$$&&&%%??>?=====&
##$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$###############&=?=?=%&&&%&&$$$$$###$&=?????>>>>>>>>>>>>++++))))+++++++++>>?%%%%%==%%%%%&&&$$$$$$$$$$$&$&&&%=?>>?==%==
##$#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$###############%===?%&&&%&&$$$$$$###$&=??????>>>>>>>>>>+++++))))+++++++++>>=%=%=====%%%%%&&&&$$$$$$$$$&$$&&&%?>>>?=%%=
###$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$###############=?=?=%&&%%&&&&&$$$###$&=?????>>>>>>>>>>>+++++))))+++++++++>===========%%%%%%&&&&$$#$$$&&&$$&&&%??>>=%%%
###$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$###############???=%%&%%%&&&&$$$$###$&=??>??>>>>>>>>>>>+++++))))+++++++++============%%%%%%%%&&&$$$$$$&&&&$&&&=?>>?%%&
#######$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$#############$?==%%&%%%&&&&&&$$$###$&=?>>>>>>>+>>>>>+++++++)))))++)))++?=%==========%%%%%%%%%%&&$$$&&&&&&&$&&%=?>?==&
###$####$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$#############$=%%%%&%=%&&&&&$$$$$#$$%=?>>>>>>+++++++++++))))**))))))))>==============%=%%%%%%%%&&&&&&&&&&%&&&&%=?>?=%
#########$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$$#############&%%%%&&=%%&&&&$&$$$$$$&%=?>>++++))))))))))))))****))***)>=================%%%%%%%%%&%&&&&&&&%%%%&&%=?>=?
$######$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$$$$$#############%%%%%%=%$&&&$$$$&&$$$&%%%=??>+++)*)************!!*****)?%==================%%%%%%%%&%%&&%%%%%%%=?=%%=?>?
#$$##$##$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$############$%%%%%=%$#$&&&&&&&&&$$&%===????>+)***!!!;;;;;!!!;!****>=====================%=%%%%%%&%%%%%%%%%%%%%=?????>
$$$$#$$$#####$$$$$$$$$$#$###$$$$$$$$$$$$$$$############&%%%%==$#@$&&&&&&&&$$$&%=????>>>>+))*!;;;:::;!!!!*))+?%======%%================%%=%%&%%%%%%%%%%%%%===????
$$#$$$$$$####$#$$$$$$$$$#####$$$$$$$$$$$$$#############%%%%==&##@$&&&&&&&&$&$$&=?>>>+++++++)*!!;;;;!****)))?%=====%$##&%==================%&%%%%%%%%%%%%%=======
$$$$##$########$$$$$$$$$$####$$$$$$$$$$$$#############&%%%===$#@@#&&&&&&&$&&&&$&?>+++)))++++)***!!***)))))>=%%%&&$####@#%==================&%%==%%%%%%%%========
###$############$#$$$$$$$$##$$$&$$$$$$$$$#############%%%===%###@@#$&&&&$&&&&&&&%?>+)))))++++))))))))?%%&&&$$&$##########$%================%%%===%%%%%%%========
##################$$$$$$$$$$$&&&$$$$$$$$#############$%%===%$##@@@@#$$&&&&&&&&&&&%>++))))))))))))))))%$$$$$$#############$$&===============%%%=====%%%%%========
###################$$$$$$$$$&&=&$$$$$$$$$############%%===%&##@@#@####$$&&&&&&&&&&=>++))))))))))))))?&&$$$##########$$$$$$$$$%=============%%%==================
##################$$$$$$$$&&&=%$$$$$$&$$$$##########%%===%&$#@@@@########$&&&&&&&&%?>+)))))))))))))?&$$$$########$$$$$$$$$$$$$&%===========&%%==================
###########$$$$$$$$$$$$$$&&&==&$$$$&$$$$$$$$#######&%%==%&$##@@#####$######$&&%&&&&%?>+))))))))))+=&$$$$$#####$$$$&&&&&&$$$$$$$$&%========%&%%==================
$$$$$$$$$$$$$$$$$$$&&&&&&%%=?%$$$$$$$$$$$##########&%==%&$########$$$$$####$$$$&%&&%=>++)))))*)*>&$$$$$$$##$$$$&&&&&&&&&&&&$&$$$$$&%======%&%%================%=
$$$&&&&&&&&&&&&&&%%%%%%====?=&$$##$$$$$$$#########$&%%%$$$#######$$$$$$$$$$$$$$#$&&&%?>+)))))**?&$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&$$&%====%&%%================%=
%%%%%%%%==========??????>>?&$###$$$$$$$$#########$&&%%%&&&$#####$$$$$$$$$$$$$$$$#$&&%=?>+))))*?&&&&$$$$$$$$&&&&&%%%&&&&&&&&&&&&&&&&&&&%%==%&%=================%=
====??????????>>>>>>>>>>+>%####$$$$$&$$$$#########&&&%%%%&&$##$$$$$&&&&$$$$$&&$$$$$&&%=?++)))>&&&&$$$$$$&&&&&%%%%%%%&&&&&&&%%&%%&&&&&&&&%%%&%=================%%
???>>>>>>>>>>+>++++++++++>%$#####$$$$$$$$#########$&&&%%%%&&$$$$$$&&&&&&&$&&&&&$$$&&&%=?>++)+&&&$$$$$&&&&&&%%%%%%%%%%%%%%%%%%%=?>>>??%&&&&%&%=================%%
>>>>++++++++++++++))))))+>=&&$$##$$$$$$############&&&%%%%%&$$$$$$&&&&&&&&&&&&&&$$&&&&%=?>+)%&&$$$$&&&&&&%%%%%%%%%%%%%%%%%%>*:--------:*+%%%==================%%
++++++++))))))))))))))))+=%%=)+?&$$#################$&&%%%%&&$$$$$&&&&&&&&&&&&&&$$&&&&&%=>+?&$$$$&&&&&%%%%%%%%%%%%%%%%%%%>:~~-~~~~~^-~~^~~;>==================%%
+++++++++++))++)+++++)))?=%=?;;;*+=$#################$&&%%%%&&$$$$$&&&&&&&&&&&&&&$&&%%%%=??&$$$&&&&%%%%%%%%%%%%%%%%%%%%=!~~~~~~~~^^-*)):^^^^:>================%%
++++++++)))))))))))))))+=%%=>;;;!!)+?&###############$&&&%%%&&&$$$$&&&&&&&%&&%%&&&&&%%%%%=%$$$&&&&%%%%%%%%%%%%%%%%%%%%?-~~~~~~~~^^^;:;)*^^^^^^*===============%%
+++++++))))))))))))))))>=%%=>!;;;!**)+>%$########$$$&$&&&&&&&&&&$$$$&&&&%&%%%%%&&&&&%%%%%%$$&&&&%%%%%%%%%%%%%%%%%%%%%=-^~~~~^~^^^^---!-^^^^^,,,;==============%%
+++))))))))))))))))))))?%&%=?!;;;!!****)>?%&$$$$%=%&&&$&&&&%&&&&&$$$&&&&&%%%%%%&&&&&%%%%%&$&&&&%%%%%%%%%%%%%%%%%%%%%%!^^^^^^^^^^^^~:;;-^^^^,,,,,;=============%%
+++)))))))))))))))))))+=%&%=?*!;;;!!!!!*)+>?==%&===%&&$$&&&&&&&&&&$$&&&&&%%%%%%%&&&&%%%%&&&&&%%%%%%%%%%%%%%%%%%%%%%%=-~~^^^^^~;:::--~~^^,,,,,,,,,*============%%
++++))))))))))))))))))>=%&%=?*!!;;!!!!!!*)++>?=%%==%&&$$$&&&&&&&&&&$&&&&&%%%%%%%%&&&%%%%&&&%%%%%%%%=%%%%%%==%%%==%%%>-~~--~~~~^^^^^~~--:-^,,,,,,,^?===========&%
++++)+)))+))))))))))))>=&&%=?*!;;;;;;;!!**)+>?=%%%=%&&&&$$&&&&&&&&&&&&&&&%%%%%%%%&&&%%%&&&%%%%%%%%%=%%%=====%%===%%%)-~------~~~~~~~^^^^^^,,,,,,,,:%==========&&
+++++++++++))))))))))+?=&&==?*!;;;;;;;;!!*)++>?%%%=%&&&$$$&&&&&&&&&&&&&&&%%%%%%%%%&&%%%&&%===%==%%%=%%%==========%%%)~---:---------~~~~~~~~^^^^^,,,=%=========&&
+++++++++++++++++))))+?=&&%=>*!;;;;;;;;!!*))+>?%%%%=%&&$$$&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%=%=?%=%=%%=%==============%>,,,,^^^~~~-----------~~~~^^^^~+%=========&&
+++++++++++++++++++))>?=&&%=>*!;;::::;;;!**)+>?=%%%=%&&&$$$&&&&&&%&&&&&&&%%%%%%%%%%%%%%%%=%=?%==%%==================%~,,,,,,,,,,,,,^^^~~--------~^~)%=========&&