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