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