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