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