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