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