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