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