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