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