################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################################################################################################################################################################
#############################################################################################################################################################################################################################################################################################....######++#######################################################################################################
###########################################################################################################################################################################################################################################################################################++#+ . ........-++#################################################################################################
##########################################################################################################################################################################################################################################################################################-... . . .. ....+############################################################################################
######################################################################################################################################################################################################################################################################################-..+-.... ..... ...-##-###################################################################################
#####################################################################################################################################################################################################################################################################################-+.. ... . . +#-#################################################################################
##################################################################################################################################################################################################################################################################################+-...... . . . +################################################################################
#################################################################################################################################################################################################################################################################################.... ################################################################################
################################################################################################################################################################################################################################################################################. .###############################################################################
##############################################################################################################################################################################################################################################################################+.. -.+############################################################################
#############################################################################################################################################################################################################################################################################.. . .++##########################################################################
#############################################################################################################################################################################################################################################################################.. ... ##########################################################################
#########################################################################################################################################################################################################################################################################..+ . ...---------.. . -#########################################################################
#######################################################################################################################################################################################################################################################################---. --....+ ......---------------+--+++--. ##########################################################################
#######################################################################################################################################################################################################################################################################+. .-.-+.... .......-.-++++++++-.-++++++++--. . .-##########################################################################
####################################################################################################################################################################################################################################################################+--. ..---------. .........---. ...-++++++-. . . +#########################################################################
####################################################################################################################################################################################################################################################################+-.. ..+.. .-+++....--++--...... .. .+++++. .+#########################################################################
#####################################################################################################################################################################################################################################################################+. .-+.-..++++..---++++--.... . ++++. .-#++###########################################################################
######################################################################################################################################################################################################################################################################. +--+-.-+++-----+++++++--.. -+++- -#+#############################################################################
###################################################################################################################################################################################################################################################################+. .+-++-+++-------++++++++-.. . - .-################################################################################
###################################################################################################################################################################################################################################################################-. -----+--+-.----+++++-----. .. .#+-###############################################################################
##################################################################################################################################################################################################################################################################+. .......------------++-+-----..-.... +++ .+###.##############################################################################
###################################################################################################################################################################################################################################################################. .-------.-..------------++++++--..--++++. .#####+##############################################################################
##################################################################################################################################################################################################################################################################. .---+-+-----...-------------+++++---+++++++.-...--.+#############################################################################
#################################################################################################################################################################################################################################################################+ . .---.+-+-+.--........--------+------... ..-++##### ###############################################################################
###################################################################################################################################################################################################################################################################. -+-+++---+--..........----------------. ..###.#-#################################################################################
###################################################################################################################################################################################################################################################################-. ---+------.+............--...----............+#######################################################################################
####################################################################################################################################################################################################################################################################. .-+++#--++--+-++++-- . .......... .--.....-+#######################################################################################
######################################################################################################################################################################################################################################################################+++++++++++++++++++++++##++. .... ..--########################################################################################
####################################################################################################################################################################################################################################################################+#++++++++-----+++++++----+++-+++++. .....---. ..#########################################################################################
###################################################################################################################################################################################################################################################################+++++++++--------------------------++++++......---.##########################################################################################
###################################################################################################################################################################################################################################################################+++++++--------------------------------+++++. ..###########################################################################################
###############################################################################################################################################################################################################################################################+##++++++----------+---------------------------+--...############################################################################################
##########################################################################################################################################################################################################################################################+++###+++++++----------------++-+-----------------------.#############################################################################################
######################################################################################################################################################################################################################################################+#++#+###++++------------------++++++-----------------------+-############################################################################################
###################################################################################################################################################################################################################################################+++#++++#+++++++++-----------.---+----------------------......#--+###########################################################################################
##################################################################################################################################################################################################################################################-+#+++++#..++++++------------..--+-.----------------++---+++ ...++--##########################################################################################
################################################################################################################################################################################################################################################--.#+++++#..-#++++---------------+-...---------------++-----++#...+-++##########################################################################################
###############################################################################################################################################################################################################################################--.#++++##..-++++------------+-.-++...-------.++++--++--+++----+....--+++########################################################################################
##############################################################################################################################################################################################################################################--+++++++-..+++++-------------+.-++-...-..-..-+--+-------+-+---+ ....+-+---#######################################################################################
############################################################################################################################################################################################################################################+--+++++#-...+++++-------------+-----...---.+-+---++----.-------- .....+-----.######################################################################################
###########################################################################################################################################################################################################################################--#+++++++++.++++---------------+----.......-.-+--.--+--..-------.......+----..-#####################################################################################
##########################################################################################################################################################################################################################################-+++++++-+++#++++--..-----------+----.... ...--+..-..-----+-+-.-..........---+ ..#####################################################################################
#########################################################################################################################################################################################################################################--+++++---+++#+++--.-.-----------+--.-.... -...--------.-...........---+ ...####################################################################################
#########################################################################################################################################################################################################################################-#+++++--++++#+++-.--------------++---.... ....--------.- ..........---+.. -+###################################################################################
########################################################################################################################################################################################################################################--+++#+-++++++#++-...--------..---. -.. . ..-------... ..........---+ ....###################################################################################
########################################################################################################################################################################################################################################-.-+-+-+++--+#+++....------------- .. ..------..-. .........-+-+ ...-+##################################################################################
#######################################################################################################################################################################################################################################--.-+-+++++-++#++--...-------------- ... ....---....-- .......++-+....#-##################################################################################
#######################################################################################################################################################################################################################################.--++++++++++#-+--....----...------.-. ...... -..---......--. ......+--+....-.+#################################################################################
#######################################################################################################################################################################################################################################.++--#+++-++#+++--.....-----.-----............... ..------..........+ .....++++.....+.#################################################################################
#####################################################################################################################################################################################################################################++#++-+++++++++++---.....---...--.................. .-..---.......----+ ....+-++......--################################################################################
###################################################################################################################################################################################################################################+++-#+++++++++#++-+---.....--.....-................ .--..-......------+ ... +-++......-+################################################################################
##################################################################################################################################################################################################################################-++++-+++++++++#++-----.....-.-..................... .--........------+ .....---+ ......-################################################################################
##################################################################################################################################################################################################################################.+++#---+++++++##------............................... ..--...........--+. ......--+........+###############################################################################
#################################################################################################################################################################################################################################+.#+++----++++++++------.........-...................... .--.............- ........+-+-.....+--###############################################################################
#################################################################################################################################################################################################################################..+++-------+++#++------................................ ..-.............- .......+--+....+---###############################################################################
#################################################################################################################################################################################################################################..+++--------++++#-+----...................................-...........-. .........----...---+-+##############################################################################
################################################################################################################################################################################################################################...++-.+.-----+--+--------.............................................-- .......... +--+..+-----##############################################################################
################################################################################################################################################################################################################################...++--+.----------------..............................................-- ...........---+..--.---##############################################################################
###############################################################################################################################################################################################################################....++++-----.----------..................................................-++-. .......+--+..-.---##############################################################################
##############################################################################################################################################################################################################################+....+++--------+---------.................................................------+- ...----.. ----+#############################################################################
##############################################################################################################################################################################################################################.....+++--------++--------................................................----------+ ....+--+. .-+-#############################################################################
##############################################################################################################################################################################################################################.....-++---------+++------................................................---....----+ ....-+-+. . --#############################################################################
#############################################################################################################################################################################################################################-......++---------++---..-.................................................---...-----+.....-+++- ...-#############################################################################
#############################################################################################################################################################################################################################+......++----------+---.----.-....................................-....--.---...-..-.-...... --++....-+############################################################################
############################################################################################################################################################################################################################+--.....#+---.------+---...--......................................-......----...--..-- .......--++ ..-+############################################################################
############################################################################################################################################################################################################################--- ....++----------+---...........................................------------......+ ........-+++..++############################################################################
############################################################################################################################################################################################################################-.-.....+------.--------............................................-----------.....-+ ...........++--++############################################################################
###########################################################################################################################################################################################################################+--......--------------..-......++-..................................----------...--.-+ ............++---############################################################################
###########################################################################################################################################################################################################################--. ......+-------------.-....... --...............................-------.....-....-+. ...........++-+############################################################################
###########################################################################################################################################################################################################################+. .......++------------.........- --............................. ..................-.---+. ......+#-+###########################################################################
##########################################################################################################################################################################################################################+ ........+++----..--.-............ -+...-...................-...................-..--------..--......-#+###########################################################################
##########################################################################################################################################################################################################################. .......+-----.....----........................................... ...-.......-...-.----.....-.+....-+############################################################################
##########################################################################################################################################################################################################################- .........#--------......-...............-..-....................... --.......--.-..---------.---+....-############################################################################
##########################################################################################################################################################################################################################---........#-----+--........................-.......................... ........-....-----------.--.+....--###########################################################################
#########################################################################################################################################################################################################################+----...... #-------....----.-......................................... .....-..........-----.-----......-+##########################################################################
#########################################################################################################################################################################################################################---..- .....+++------...-............................................... ....................-------.......--#########################################################################
#########################################################################################################################################################################################################################---.-- .....++++----.......--...................--...................... ...................-----+ ........-+########################################################################
#########################################################################################################################################################################################################################---.-- ....-++--------.............................-..................... ...................-----#..........-+#######################################################################
#########################################################################################################################################################################################################################--..--.... ++-+-------..............................-.................... ....-.............------++........--#######################################################################
########################################################################################################################################################################################################################+----+......-+-+-----------............................-................... ..-........-..---.--------+-+......-+######################################################################
########################################################################################################################################################################################################################-----......+--+---------------...........................-................... ....--......----.-......---+--.....-######################################################################
########################################################################################################################################################################################################################---.......+---+----..-----++--............................--................. ..---..................-------....-+#####################################################################
########################################################################################################################################################################################################################+........+---++---.-..-.------.....--........................................ ......................-------....--#####################################################################
########################################################################################################################################################################################################################-.......++----.+-------.--------.----..........................-.............. ......................-------....-+####################################################################
#######################################################################################################################################################################################################################-.......+++-+. +-------.....------------..-......................-............. .....................------.....--####################################################################
#######################################################################################################################################################################################################################.......+-#++ .---------..-----------------............--.........-........... .........................--......-####################################################################
#######################################################################################################################################################################################################################......-+++... . .----------..-..-------------.............-.................... ...................-..---........-###################################################################
#######################################################################################################################################################################################################################.....-+++.... .----------......---------------...........--.........-....... ....................--- ........-+##################################################################
#######################################################################################################################################################################################################################....-+++..... .------------.......---------------..........-..........-........ ...................---- ........-##################################################################
#######################################################################################################################################################################################################################...-++#.......------------------....-..---....------------......----........-........ ....................-.----......-##################################################################
######################################################################################################################################################################################################################+..-++#........-..-----..---------..-.............-----------..-...----..-....-+-.............................-------++--#################################################################
######################################################################################################################################################################################################################-..++++.......#++-.----..---+++-------........... ...--------------.--------....---..... ...............-..-..----------++################################################################
######################################################################################################################################################################################################################-.+++++....-++++++++---.........---------.......... ..--------------.--..----....-----.. .................--------..-----+###############################################################
######################################################################################################################################################################################################################+--+++....++++++++++++++---..........------.......... .........----..--..------.....----. ................-------.--..---+-##############################################################
######################################################################################################################################################################################################################-.++++...+-+++++++++++++++++++++++++--....-----.......... .........-+--+--------......--. .................--------.----+.-#############################################################
####################################################++-+##############################################################################################################################################################+++-++. .--------------------------.-.... .. . ... ..... -------.......... .........--...--..----+-----+..-############################################################
#################################################-......-...#####+++-#################################################################################################################################################---+++ +----........ . ....-. ..... +.--.--.......... ..........-------.-.-.-+--+....-###########################################################
###############################################+... . ...-.#. ..-. -############################################################################################################################################.----. .... ....-........................... . .-..-----......... ...........-..-----------+-...--+##########################################################
############################################--. ... .-....... ...-.. #+.-###########################################################################################################################################.-.... .++ ..+..........................-........ .....---....-... ...............-------++#-......##########################################################
################################################-. --#... .+###########################################################################################################################################. ..+++ ..........-........... .-+++##+++++++++---... ........-... ...............----....- .##############################################################
#################################################--..#-+- .. .-###########+#+++-------+################################################################################################################### ...##- ........... .-+############+########++--++#+------.. ......... ........-.-. .....---#################################################################
################################################+###-.+-+####+##. #++. ..-...-++----+##---. .......-+#################################################################################################################... . .--## .... .+#######################+++####+++########+++++++-.... . ...... ........------#################################################################
####################################################-#############-. ###-##..... .....###+.. .. +- -..-+-############################################################################################################### ..............+##.-+++#################+#######+++#++++++++######++#######++++---.... ..........------+++################################################################
########################################################+##+###-#####... +.. -##. .####### -#. ...-+++#####++++####################################################################################################- +#################+######++#+++++++########++--++###############+++##+++##++++##++++---.. ......-....-------++################################################################
############################################################+###-+#--- .. ..#######-..... . .-.--..--..---+---#--################################################################################################################-#####+++++########+--++#################+-+##++###++############++-+-... +..........--------++################################################################
##########################################################+--##+. .... . ######... .. ............ .+####################################################################################################+++++++++++++#.-+#############++++##############+--+##++#+++#+#################+++++---..##..........------+++###############################################################
#########################################################++-.-.. ##-..+###- .+.+##--.. ..--... .. -####################################################################################################+++#############.############+++#############+-+#+++##+++++++######################+++----..+#........-------+++###############################################################
##############################################################+-----+-. +#+.-.. . .. . -##. . . . . .##########-.-----.#####################################################################################################+#########################++##++++++++++++##########++################+#++---.-##.......--------++###############################################################
###-----..--..-------########################################### +#+###.. . #. - ...... ..-. .##.###+#######-----..-...--+++####################################################################################################################++##++++++++++++#############++++###################+++--.-###......---------++##############################################################
#####--..-........ ...-..---------------###################++#-..-.--###- .##--+###..#######.+++. . .. #+#### ---..-...... .###--- ...--###############################################################################################+###########++++++-+++++++++++##############+++++########################++--+####..-...--------++##############################################################
##########+.-..-+.+.....-........ ....- .---+#+----####-.. --+-################.###########-..... ..... .. ........####-.+ +#####################################################################################++######++###-+++++##+++++++++-++++++#################+++++#########+++++####++########++-.-####.-.---.------++##############################################################
##########+--.--...--. ... ........... .-.#-..#####-#####+.-++#.##.#-##--####.-.#..## -##+#######. . . .. . ..... ...++...--.##+-##+##############################################################################++++++#++++++###++#+++++-++++++######++##+##########+---+++#########++++++##++#++#######+#+-.-+####..----------+++#############################################################
##########---.. ..... . .....-.--- ..## -++###-.... .###--###-#######--+.......#+# .###########---##. ..... .. #-#+############################################################################################+++--++############################+----++##########+-++##+.----+##+########+++--+#####+-.---------++#############################################################
####+-+############..... .##++####-+ .... ####. . .#######-#####-.+##-. .. .. . #+################. ... ..--..+#######################################################################################++++++++++++++##++######################++---++############+-------++##++############++++-+#######-.--------++#############################################################
#####################..+########. .. .. .. . .#+############....+. . # #+. #################. #. -# ...-.####################################################################################################+#####################+++++####++----------------++###++++++#+#############++++#######.-----++++##############################################################
#######-.####################-#-+########--. . . .#--########-- .#-- .+#. . .. ..################# .. +#+ . .-. ....-#++###############################################################################################################+-++++--------------------+###++############+############+++++######+--+-++++++#############################################################
#########-#-##################+#############+ .. #####.#######+-#.##.-############. ################- #++.##- -###-#-+###- . ...#############################################################################+###################################+---..---++#++++#############+++++#############+##############++######---+++++#++#############################################################
##############+############-##..#############. .-##+######..+#####.-#-#################.. .###-##### -####+ .##+###### ##+.-# ..+#-.+....--+#####################################################################++++##########+#####+##########+++++---+--+++++++#++####++####++++++################+###########+--+#####--+++++++##+#############################################################
#####+++--++#-..#-###+####.+################+.+# ##+########++...-+##-########+-..--+. .#+######+#..... - ##+#.- -++.-+-.. .. . - ....######################################################################+++++++++########+#######+++++++----+++##+##+###++++++#####++++##################++###########+++####..-+++++##################################################################
---. . .--#+..--#########.###+#-.#########---..++ -######.. ###-. +####..-+--.-#- . +#+#+#######-- ###--+..--...... . .. ...... ...... .-#############################+++++--++----++++++##+++++-+-------+########++#############++#+++++++++---+++#+##++++++++++########################+####+##########++++++###..--++++##################################################################
-. ...+##########################-+##############. +##.... -.--. -- .####++- -#++ --##########. .. . .. . . ...-.--. ........--.----+++############++++++++-+++++++++-++++++++++----------------+#####################+##+++++++++++++++++####+###+++#+#####+###################################+++-+-+#+...-++++##################################################################
++--##+##############################+..#+.#.--+-+###..-. .+###-.#+####... . .-.+ +... -#+-....-.-.- ... .. . ... .--. ........-..... -+++++++++++++++++++++++++++++++-+--++-++++-------------------+#####################+#+++++++++++++++####+#####++########++#######################++###########++----##....-++++#################################################################
----#--##########################+--+-........#- #-. ... #-##-..--####### + .. . -++. # ++.-.---.+-- ... . ... . ... . .... -.............-++-+++-++++-++++--++-+++-+++-----------------------------####+##########+++#########++++++++######################+###########################++###########----+#.....+++++################################################################
...-+-###############+####..#+#############+--...######- ###########++++. ..... .-. .- - --+++.---. --- ..--. . . . . . . -- ..... ....---------+--+-------------------------------------------####+########++++++##++########++++##################################################+###########+---.-##....--++++++###+#########################################################
.--.########################################+######.-#### .++#############+..#-.-++- . . . ...--. -.. .-- #+-. . . .... ...------++-----------------------------+-------------------------+###+######+++++++###++##########################################################+#################+---#++.....--++++++++#####################################+-----++############
####################################################+-..-+ .+++++...-+++++++++++-++ +++-- - . .......-. . .--. -... ... ....-... .. .-.----------------------------------------------------------------########+++++++++#####+##################################++######################################++--.++#......--++++++++##################################--..-......-##########
-+####################################################+++-. -++--. -++++++++++++-.+++++. - . ... . ... . .. ... .--- .... .. ..-------------++-----------------------------------------------######+++-++++++######+################################++#######################################+++--.+++......---+++#++++++##########++################+---++#-...........+#####
##--############################################+++++--+++++ --+--.. -++++-+++- .++-+- . .- .-... ..-----..... ..----. . ------------------------------------------------------------#####+--+-++++###################################################################################+#+-.-++......----+#++++++++++++++###################+-......................###
#+.#####################################+++++++++--++++--+++- .-------. .....--.---.... .... .-. .. .--+-- .- -------..- . -----.------------------------------------------------.---------..---------##+++++++++++###########+##########################++++###############################++############+-----......--++-++++-+++++++++++++++++++++++++#+##+...... ... ..........-.--+
---.--+#######################++++++++++++++-+++++++++++++---. -+-----.. .--. . ... . . -- ...- --....---.----... ....---------------------------------------------------.--------...----------######-++#####################################++++++++++++++##############++########################++----.......---++++--+++... ----------------------+........ .................
-.-##############+++++++++++++++-++++++++++++++++------+--+-++- ---.--.. .. ..---. ... . ...-- --. ..--------.--.. . .-.-.---------------------------------------------------.--------...----------######+++######################################+++++++-+++++++#########++###########################++++-........--.++++--++--. ......-.-.-.--...... ..+-.-..... .... ........
--+-######++++-++++++------+---+-++-++++--------------+-------. .......-----. . .. .. . ...--. . ---.-------.-...-. --.---.------------------------------------.----------------------------.------#############################################+++++++++++++++++++#########+##############+########++###+++#-.....---+++++-+++------..-..-....... .-.....++##+---.....-. . ......
----+++---++-+--++----------++++--+++++++---------------.... . . ......- --.-++... . ..-..-- . ---- ...-.-..--.... ..-----------------------------------------.--..-.--..---------...---------------#########################+#################+++++++++++++++++++++######+################+#+########+++-+++#+.....++++++++-+++------------....... .++-+-----.++---...-.-.. .
.-.--+-----+-++-+---+-+-+-+-.---.----+++-++------... ..... ---.---. .----. ... ...---. . -...--------- ...- -...------------------------------------------------------------.........----..---##########+#############+#####++++++++---+++++++-+++++++++++++++###################++++##+#############+####--+++++++++--+++--.----..................- +..... ....-+-... .. -...
..---------+--+-+---+---++----.-.-..--+-----+--------..-. .. ..-----.--- ..... . .. ---------. .----. ....-.----------------------.-----..---....----------------------..-.--.-------.----#########++##############+++-+-+---.-.-.--++------#+++#++++++++#+#+##+##########+-+++#++-#############+++#++++##++#+++---++----......-.... ...-++------...----.-...---...-
.....-------------------------++-....---.--------. . ....-. . ..--.----- -... . ..-.-. .-.--.. ...---- .----------------.-------...---.---..-.-.....------.--------...-------------....------#####################+++++-------......---++---+++++++-+++###++++++++++#####+--+++###--+#################+-+++++#++--.--+++--------.. . . ..+++++.---. . .--. .....
..--...---------------------+-...+ .--...--------- . . ... .. .--- ...-. ..-. ..............-.. ...--..--.. ...---....---.--.-.--.----.......----......--........--....---------.--....------.-.---+###################++++-----...........-++++++++++++--++#++++#+##++++++##---++##++--+################++#--+++++------------.----. . .. ... ..-+..+++-.----...... .--..
---------..--------------+++---.++..--...-.---... .-.-..... .. ...... .....-....--..-........-.....---------.....---.--................----.........--..---....-...---.-...----------........-..-------.-#######+###########++-------........ ..-+++++++++++++++++++++++++++++++++++++++--++#####################+---....-------..---.....-- ....-. . - -+#+. ..+++--..-#.. ......-
-.-..---.. .-..---------------.. .... ..--.. . ... . . ............--......-.--.......--------.-. ...---.... ....--..........--..-........--..-----..-...--.------.--.....---.---.-....+#################++-----.-.. ....... +++---------++++++++++++-------+##++---+######################+##--.-------.-------------... ..- ..-+-#.-+--.....------.-... .
-.........-+++......-...........--... ... .--. ... ..... . .. .... .. .... . .... . ...-....--........-..............................---..........--------..........################++---.. ...............-++-+++++----++++++++++++-+++#+++---+############################..--....----------------. .....-. . . .... .-... . . .
. . ... .--..--..-.-. .-.. ...-+--. .. ---- -+++- ............... . .. . . . . . ..... ..-- ...---..---.....------..............-..................-........--......-..... ##############+---.....................-+++###+############+++++++++-.-++###############################.-..-----------------.-++-+++..-.. ...... ... . . .. +
.........-.........--. .. . ..... .. .-----++-.. ....-... .. ..... . . - .... . ..-.. .--.........-.--... ..--------....................----.....-+...-...-++++++-##########+++-.............----..........+++++###############++++-.-++###################################..--.--------..----...--.---. ... .--. #-...- . . .
. ...-..------+-+--.. ......--.--. . .-+-- .----+. . .. . ... .. .. .. .- .. ... .-...... . .. ..... ... . .... .........--............--------.......-....-------######++-..........----------.--.----.....------+++++#####+++-..-++######################################-..------+.......-.........+-..-. .-###. - --+#.--..... .-.
-....--+.+----.-.. ... ...... ..--......------..-- ....... .. .... ..... . .... ..... ........ -. . ...... .....--.....-........---....-..------.........-.....----..#####+------------------------------.. ...#++++++++++------.--+++#########################################..------....-.. ....---#+.-... -+-#+-..- #+##-#++-..--..... . ....
.....----.-.--.. . ... .......+..-......-..-.---------.. ......... ...-. .... . .. .. . . ----.......-.. ........ ...... ......-....-............-------######- ....--...--.---+##################+++---------+----.......####+++++++++++++++#############################################.-...-...................-...--..-++--.... ....... . --..... . ..
-.------..-...--. ... .... ... ....----......- . .-. ........ .......--..--+#-+ . . . --... ........ ....-..... . . ... ...----.--.......-.....----.-.---...-###############+--.-------##########++-+########+++++++++--...........#############+#################################################-...--.---------.... ... ........... . . . . .----++-.- ...-
--.....-+----..--.--........-.-. .. .............-... . ....--..--......--..++. ....---- . .. . . -.. ...- ..... . ...-. . - .. .......-...-........-----...---.-..-+####################+-..----#############+++-.--++######+--.....-.......+#############+#++##+##########################################- .......----.-. .. . ..-................ .. .++-# .
.....----.-.---....--....-..-.-..--++-. ... .-.--.......-.... ....----.. . . ..-...-+-- .----.---. . ... .---+. ... . .. . . . .. .-+++......................----......-...-#########################++---####################++---++++-----------... .##########++###+++++###########################################-........-.. .. . .... .... ......----.--+-.. . ..----...-.
.--.+----. ...... ......--+...-----. .. .-----..--.-....... .........- .......-.-- -+-....--++++-+. ..+ . ...--.. +.+. ++++-+-+. --.++++++--. ....+-----.-....................--#############################---##########################++++----------......############+#################################################-..-....-. ....----..... ... .. .--.... -###++--. ..-.-..--...
-+....-...----........ . .-.-..#-.....-...-.--++-..-...---... ..-+-----.+---.+......----.-.....-.----....-.-- ...-+++#-...----.---.-....+++----.........-....-...+##########--.....#################################-.#############################+---------........##############++#############################################.....---.. ..--......... ...- .---.... ....++##-.... ..-..----..-
.--.......---..-..... ----..... ..------.-..--. ......-.. ---.-.--...... --......---....----.-. ..+----++-....----...---++++---+++-... .--+############################################################-########################+++++----------..-... .############################################################...... .. ..... ....... .--.-..--.. .--..------+###############
... .. ..--.-.-..... . ....-..... ....-..-....--. .-. . ......--. -+++++#+. ...-.... . . .....++. .-+--.-.---+##+-..----+...+-++--##############################################################+######################+++++++----------...----- . ..+##########################################################+.... .......... ...- . ..... ......--.-#########################
.-. ...... .. .-.............. .........--.......-...... ...-..-..---..-...---. . . .-..-- .-++--+- ..... ..----.+-..--.---... .+################+#################+.##################################################++-+--+---+----------.------. . ...#+++#######################################################... .........- ......-.......-......--#############################
..... . . ...............-..-........---.---..... +...............--... .-.--.....--...........-. .---..-+-+++-..-+. .......---....---....-. -#################+++###################################################+################+--+++--+-++---------+++++-.......-####+++##################################################### ........ -.----...-........ ...... +###############################
....... ..-..--. ..-..----. ---.----..----....-+. ...-.. ..-..... ..--. ...-+---. .......... ..-....--..-....++---. . ............-..-- -+#############+++++######################+#################################################++++++++++++-------++++++-......--+#######+####################################################....-.---..-......-... ...- .##########################+#+########
. .-...... ..... ...--------.--.+++--.... ....---++-.--++--. ... .. .-.. ..-..-.. .-...-..-.........-.. ...-.....-----#-+........ .---+##+####+###+###++#########################-+##############################################+#++++##++++++-+-----++++++-.....--.-+#########+##################################################...-.-....----....... ..... +###########-#######+#########++#######
......... .. --. ........----.--++++.-+##+..-.....-----+---+-.--.... ...-.....--. . .. ..... . ..... --#.---#+.........--..+##+##++##++##########+##################### ########################################################++++++++-++#####+....--..--+#####+++#####################################################-..........-....... . .. ..#####################+##################
-....... . ..-..-----...-...---.... -+###+- -......------..---..---.... . .... .-- . ..-. ... ......----..-......-##+- ..---.-###++++###--+##+##+###########################.########################################################+++++#########+-....------+++###+######################################################### ..-.... .... ..##########+##############################
...... .---.-.------- ...---...--..---- .--. .... ..--.---... ......-. .-.--.-. ---. ...---++-.. ############---+##-++#-+++-+++#+##############################+#+###################################################++++++##########+....-------++#####+########+++############################################## . .......... .######+#######+###########################
....... . ..------...---.. ...... -+--+. . ..--......---. .... . ..--- . .--.-----. . ....------ ##############+...+++++#+-+++###########++######################+##################################+#################+++#############+-...-----+--++###############+++++#############################+##############.....-.... ...... #####++#####++####+##+##################++-
... . . ---.-...... . . ... .--- ...... .. . .. . .... ...- .. . .....-. -. ......--.-#################... #+++++++#++###########-###++#++###############-+##################################################################-..-----+----++-+.--.########+++++++##++###########++#########++++#+############-........-.. .... -######+#####+##+#--+########################
--.. ......-......-....... ..-....-.. .... ... .... . ... - ..--.. .. . ....-+-+#+++....-.-###################- .+++#++-++########+#++++#+#######++##++########-#+###############################################################+-..-----+-++-+-+#+#-+-#########+++++++++++++#####++++++++####+++++############### .-... . .. ..###++##+####+##+-#++-#++#####################
......----. -. ........ - .-....-.-.- ...... ... . ..... .-----.....+-+-.. ..###-#################-- .#+-++++-#####+##+######+#########++###########+.##############################################++++#############+-.--------++-+---++.++-##---#######+++++++#++++###++++++++++++#++++#########++####+ .......-. . +#####+#######++#+############################
.-...---..-.-.. .. ... . ..-.-..----. . ..... .-.--.-....--. ..##############+#+#####-.. +---.-+#########################+############### +#####+#########################################+++++++######+-.------+-+++++--++-.-+###----#######+++#++++######+++++++++#+#################++###-. ..... .- ..##+########-#+-++#+################+###########
..--------.....-.. .----....-...--- . -.... ..... #############++########+..------+-+##-++######+############################-+##++-+####################################################+-.-------+++++++-++++--####+--+#+###################++++++++##########++##+########### .. .. ....... .############++##++####+#########################
..-.-.....-...--.-. ...--. ...-. .. . ... #+###########++########-- ------#-++#####################################+#+--########################################################++.---------+++++++-++#----#+----+####################+++++++######+#####################. .. .. ... .##############++#########+#####################++
..... .- ... ........ .........-.-- -. . .. . .+#############+########+-. ---+++++#######+#++####++########################-.-###################################+###################+------++-++++++++--++#---+.----.####+################++++++#############################-... ...- ........-##############--+########+++#+--###++#############
...-. ..... . ...---.....--.. ...--....-. . -########+######+#######+-...++#++--+#############+++#-##+-##############++#####.+################################################+####+----++-+-++++++++++-+-++---+-..-+--+-++################++++###############################...........-.+.. -#####-+#####++#++###+##+.---+++++++#---##+#++####++
... ..... ........----.---....... .. -.. ..#######---++++##+--+++##++-...+-##+#+####++++#######-##+++##-#############+#####..###########################################++++++###+-------+++-++++++++++-+++--..-----+.--#--##############++++######+++######################## .. ...... . #####+-++###--+++#############-##++####++######+--++
..-.. .... --.---. . . . . ..-+#######+-+#+++-++--###--+-...+-#+-++++##----##+####----#####-#######+############ #######++##+#############################++++++#####----++++++++++++##+++--++#++#------.--+++++#############+++#####+++++++++++++###############-. .---. .... ######+#-###+#+++###############+#++-++++#+#+-+#++-#+
.. .... ................----+#-. . ... .-######+++--+-#+++++#####++---.. #-++-####+-#+#++####---+################+##########++######+##########################+#####++++++#####+---+++++++++++++###++-+++++-##++#+.-+-##----###########++####################################-.-.... .. .+#####-+-##+-+++-#############.###+---+++++++-++++++++
. ........... ...--.....----+. . ... .. #######+----+++##+.#+-++-++#+-. .+-#+----##---.-+++-#---#++--+--+#+++###############-.+###+-##--+##++###+###+##############+++++#######+--+++++++++++++++####++++++++#--####--.--+-.-.+#######+++++++++++++###################################.. .....########+###+-##++#########.-----++++###+++-##+--###++-
...... . .... ..--.........--. .--. .. .. . ######++-.-+++++++--+-++++++++...+.+-+..--#+#+-+###-++-++----++--+##+###############--.########--+####-#+#############################+++++++++++++-++++#####++-++#####+-##.-.....----.#####+++++++++++++++++###############################################++-###--+#########++##----++-----++#+++-+---+++++-
. . .. ...... .......-. ... . #####++---+++-+++-.+-+--+++#+--. ..-+#++---+-.----.++#-.-+--+--..###-#####+###-+####+-. #+##+#######-#######++#######################+++++++++++++++++++#####++--+#+....-.--------.-----###++++++++++++------+++++############################################+###+--###+#####+###+--.---++.+--+++-+--+---##+#+
. ..... ... ..... ....... . . -###+###.-.----##+-- .+++#--###-..-..-#+-.+###-#---..#.--###+--+##+-+-+#####+++##+##--###+#-.+###############-+######+-#############+++++++++++++++++++-+######++--+##.+++##++#.-+----++-.###############+++++++-------------+++++####################################+##+++#########+++.---+-----.--++-.--++++-++
... ...... . -.. ... .. . . -######---+##++++++---+###+++#++-.- --+---+-.--+-+..+-#+##-.-##++#++##+#+++####+---#+-.--.----.-############.-#############-###++++++++--+-+-+++++++++-+######++-+++#+-----.-##----..###--+..#############################+++++++++########################################+#######----#+-+-#+--------------------
.. . -.. ..... ...-. ..... .. . +####+-++-+++++++++--+####--###+. .---....----+#-.--------###...#+.+++####++######+######+-++--++-#######+--###############################++#####+++######+++--+#+#+----+--#-+###..##+-.---#############################################################++-######################---+####----+---.---------+#+++
... .. . ............. .. . . .#####+++++++++---++----++++#-#+++-.. -.##-.#+#+.---+---..-.---##--+--.#+--+##################+--+-.#-.-+--##+############-###################################+++--++#+--.------..--#++.+--.+---############################################################++++########################+#######++####+----------###-
.. .. ...... ..-..... . ... . +#####+--+-+-++-----#..-++++#+##+#-. ..--#+..--.+#-..-+..-#....++##--##++#-+################++... +-+-..--------######++#####################################+++---+#++....--+##-##------..#####-+####################################################################################################################
....-. . .. . ... .. . #-####+++--++++.-.#---. ..++++-++++..- ---###....-#..-++#-#--..##...-###---#########++#######++.++. .-++----.+-.##+++++######################################--++-++-#+#++++.++++-+---+....#######.####################################################################++##############################################
.. . . .. ...... .. . ... +--###++++-+++++.. -.---. -+-#++ .-#+- ..---#--.......+#-####-...-.....-+#.++---+##+####--+##.--.++-+ +------++#---+-----+-######+++++#+###################+--++--+++#+.+---++--.----##..--#######-#######++#+++########################+##############################################################################
. . ...-... --. . . ..-###+#++--+++-------+-. -++-++- ###+.---.-----........+#-.#+-+....-...--+##-----+++---###-++++--.++++. --.-----+++#..-----.###############################+-++++-+++###-----+..-----+##+--#-.-####--######+++++++++++###############+++++###############################################################################
Welcome to my personal projects repository, please feel free to dive into it <@:~)