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