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