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