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