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