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