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