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