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