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