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