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