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