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