;;;;++
;;;;++++*****
;;;;;+ ;;;;;;;;***#####%
;;;;;+++++*** :::.............;;;;;;;;*;##%%%%%%%
;;;;;;;;;*******#::::.............................;;;;;;;;;;%;%%%%%%%%
;;;;;;;;;+;;;###............................::::::::;;;;;;;;;;%;;%%%%%%%
;;;;;;;;;;;;#;;#%............::::::::::::==========+++;;;;;;;;;%;%%%%%%%
;;;;;;;;;;;;;%;;%:::::::::===========+++++++++########%;;;;;;;;;;%%+*#
;;;;;;;;;;;;;;;;%=====++++++++++########%%%%%%%% ;;;;;;;;%;==+*#
;;;;;;;;;;;;;;;;%%########%%%%%%%%% ;;;;==+*%
;;;;;;;;;;;;%;;%%%%%% ;;;;=++*%
;;;;;;;;;;;;;;%%%%%% +;;;;=+*#%
;;;;;;;;;;;%##%%% +;;;;=+*#%
;;;;;;;;++##%%% =;;;;=+*#%;;++
;;;;===++##%%%% =;;;;;+++****##
;;;;====+##%%%% ;;;;;;;*#####%%
;;;====++#%%%% ;;;;;;;;;%%%%%%%%
;;;;===++##%%% ;;;;;;;;%;%%%%%%%%
;;;;===++##%%%% ;;;;;;;;;;%%%%%;;;
;;;====+##%%%% ;;;;;;;;;;%;;;%%%%
;;;====++#%%%% ;;;;;;;;%;;;;;%%%%
;;;;===++##%%% ;;;;;;;;;;;;;;%%%%
;;;;===++##%%% ;;;%%% ;;;%%%
;;;====+##%%%% ;;;%%% ;;;%%%
;;;====++#%%%% ;;;%%% ;;;%%%
;;;;===++##%%% ;;;%%% ;;;%%%
;;;===++##%%% ;;;%%% ;;;%%%
;;;====+##%%% ;;;%%% ;;;%%%
;;;;===++#%%%% ;;;;;%%% ;;;;%%%
;;;===++#%%%% ;;;;;%% ;;;;;%%%
;;;===++##%%%
;;;====+##%%%
;;;===++#%%%
;;;===++#%%%%+
;;;;;;++##%%%+**
;;;;;;;;;+******###
;;;;;;;;;+;;;########%
;;;;;;;;;;;;#;;##%%%%%%%
;;;;;;;;;;;;;%;;%%%%%%%%
;;;;;;;;;;;;;;;;%%%%%%%%
;;;;;;;;;;;;;;;;;%%%%%%%
;;;;;;;;;;;;;;;;%%%%%%%
;;;;;;;;;;;;;;;%%%%%%
;;;;;;;;;%;;;%%%%%%
::;;;;;++;*##%%%%%
;;::;;;;;++**##%%%%%;;
;;;;;;;;::;;;;;++**##%%%%;;;;;;;;
;;;;;;;:::;;;;;;+++***###%%%%%%;;;;;;%
;::;;;;;;;;;;;;;+++***###%;;;;;;;;;%%%
;:::::;;;;;;;;++++;;****####%%%%%%%%%
::::;;;;;;;;+++++*****####%%%%%%%
++++***