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