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