########M#######MM##M##M#M#HH@@#MH##@####@#MM##@M########M##MM###M##HH#MH#####@##H###########M##MMMM###M###M###MM######M ########M#######M###M####M#@#####@##@###MM#####M###M########M##M#M##@H##@########@##################M##M###############M M##########################@#####@##H##M###M###M###@#############M###M##M##########MM##M###############################M #######M###########@##M#@##M#####@##@######M#######M#############M###@##MM#########MM##M#######M#####M################## ###MMM###########M#@##MMM####M##M@#MM######@#######M############M@###@##@M#####################M#####M#M####M########### ##MM#M######M#@##M#M##MM#####@##@M#M#######M#######M##M######M###M###@##M##@#########M##M######M###M####@###M########### M############################H##@##@##################M########################################M###@#########M########## #######@###M#M#######H###H##@@#M###@#####################################M######################MM#M#####M#@###@#######M #######M#M###H#M#####M###@##M##M###M##########M##M###M########MMM#####M#MM###M#############M#############M#M###M@######M M###########@@#M########@###M##MM##M#M#####MMMM#MM###M#####M###M############MM##M##M###M###M#############M##@###@##M###M ############################################################################################################M##########@ ############MMM######M######################################################################################M##########M ####M#MMM####M################################################################################################M###M####M #####MM###########################################################################################################M##### M###############################################MM###########M########################################################## #######################MMMMMMMMM###################%%$X$$X$$%%#HHHHHM####################MMMMMMM###############M######## ################MMM@@MMMMMM########################;;;/+++/;;;$$$$$$@##########################MMM###M################## #############MMMM##################################::://;:;:=:#+%%%%@######################################MM########### ###################################################::;#//:/:::#+++%X#################################################### H@M####################HHHM@@M#####################;:::==:=::=#+%%XX###################################################M ###################M###H@@MMM######################;:::=::==:=#+%%XX#########################################M########## #######################MM###M######################/:::::::::=#%%%%$M################################################### ####################################################::::::::::#%%XXXM##################################################M ###################################################X::::::::::#$%$$H#################################################### ###################################################H::::::::::#$$$X@###################################################M ###################################################@;;/:::::::#$$$X@#################################################### M###################################################$:/:::::::#$$$$@#################################################### M###################################################H::=::::::#%$$$@#################################################### M#################@#################################M;:=:=::::M%$$X@#################################################### M#################M##################################+:=:=::::M%$$XM#################################################### #####################################################M/:::::::#%$$XM#################################################### #####################################################M/:=:::;:/%$$XM#M################################################## #######################################################:::::::/%$%XM#################################################### #######################################################::::;::/%$$XM#################################################### #######################################################::::/::/%$$XM#################################################### #########################################M#############;::::::/%$$XM###################################################M #########################################H%@#M#########%:::::::/$$XM#################################################### #########################################M#;+H#########X:::::::/$$X@#################################################### ############################################/:@M#########/:::::/%$X@#################################################### ###########################################MX:::/X######@;:==:::+$$@###################################################M #############################################$;:=;#######+::::::/%$H###################################################M #############################################MH::=@M#####X::::::;%$HM##################################################M ###############################################==:=+@####@/::::::+$HM#######M########################################### ###############################################M::::@######::::::/XXM####@############################################## ###############################################M+:::=:##M##:;::::;X$@####%//+@##########M@############################## ################################################@/:==:#M###:::::::#$@####%/;;;@#########$+############################## #################################################X:==:/X###+::::::M$H####+;:;;;%HM######$+#$M########################### M#################################################M:==:/@###/:/:::/$#####+;://;;/M#########/M########################### ##########################################MXH#####M::=:=:H##X:;:::/%X@###+:::::;;;;;%H#####$/;/XM####################### #########################################M@=;$#####==:=::%##@//::::+$@###X;;::/;::;:;/#####M$;//XM###################### #########################################$:;$$#####:=:=::;###X/::::;%H###MM;;:::;;;:;;#X####@XM/+X#####################M ##########################################/;@######//::=:/#####;:://%X#####;;;;;;;/;:/;M########//###################### ###MM####################################+/-:%#####%:::=::#M##@::::=/$##MX:;/XM/::;;;;/;;/#%HM#X/:MH#################### H##$%H#HM################################%:==:M####$==:=::@M###::::=:%M#M%/;+M#@H$/:;;::;;/;/%##%;;%M###############M### %M#%=;#HHM###############################X:===#M###X=::=::/M#M#+:::==/###%/:/@###MX/;;;;;;/;;;#X%;;;$M#############@XH## /##X@##@@X#################################===:@M##H:::==::M#####::==:###$//;@######M##///#//:/;;;/:/X#############//%#M :$#$%#@:=;################################@==-:==+MM%/:====%####@/:==:#M#@/;;:#@#######%//#;:=:;;;/;;/#############+++#M /%#H;X#+::#################################;======M#MX/::==+#####$::==@@###:;;;+H######MX%//;=/;;;:;;/############M+%+#M %@#M%:@#+/#################################X::====:$@#H:::=+######@:==/H###:::/;/X######M@#;;;:;:;:;;/#############@M$#M ;##@##/@;/####################################:===::@M###/:+#######:::/$###M:::://###########M;///:/;/###############H## +:MHH#@:=;####################################M=:==::=@@#@#/#######%:;/;XM#H+:::;;:;%H#######@#:;::;/;############@X#X#M $X:%%X#+:%#####################################;=::=::=/X##$#######@+;/:+@##H//:::/:;/#########/::::;;M############%MX#M @##=:/#@%$#####################################X;=====:=;%##########H;::;X##MH@;:::;;:MXM######X;:/;+%M############/++#@ ####/:M#X/########################################@===::::#M#########@/::M######//::::/:/######M#/;#@##############$/##@ M###MX;=-:######################################M##:===::::=;X#######MM=::M#####X;/:::::;;//$H#MM//;+@#############@+//; M####@X%+$######################################@$M$;=:==:::=:########M;::######MH@:::::;;/:;/%%+;/;;%##############X//; ###H$$###M######################################%:@#X/:::::===;%HM#####%::@M######@;::/;;::;;;/;:;:/;/############M@M$#; ###XX#MM########################################::/####/:::==:=:;@######M//X#########@/;///::///;/:/;/################## M##H::#@HM#####################################====:/$#H/::=====:::+HM###X/;X########M#;;;;;::::::::;;#############/$##M X@#M%:#MX%###################################M#====:::@#@%:=::=::::=:+###M#+/M#########%/;;::::;;;;;;;M############/+M#M M@##H;@X+:###################################M;====:::/H#MX:::=:::::::M@M##@H@#########MX/;;:::::;/;;;M############//H#M ##M####::/###################################@:======:/######@:/:::::::/@##################/::;::://;/##############@+#H XX#MH@#X%$#################################M+=:=======#######@#:::::::/:::/%H##############H+:/;;;::;%##############M%// MH#H/$M##M#################################H:::=======#########%::::=::::;/;;/##MM##########@%;;;;#%XM###########MMM#H/; H##X$#M@###################################+-=======:/#########MX+::::::::/:::/%H############MX;;:HMM############$%X@M#; /H##M##M###################################/:====//=@##############M///////:;//;/@##############;;#@#############X#/MMM; ::MM$:##H$################################M===/===-/################@$/;:::;;;:;;;/;/%##########H/;;$############$//;:;: %:MMM%###+#################################==--=-=:M#################M#/;;;:;;;;;;;;;:/+X@M######%;;/$###########$+////: H+/%MM##M/################################X==---==M####################H+;;;::::;;;;::::;;#X@####%;:;+###########XX%/;/; MM#:/M###:###############################M/=--/=/:#########################M/;//;:/;;:::;/:///@@H:::/;M##############MM# @$H/::===;##############################M$/=--/==%#########################M@%/;;;/:::::;;::::::::::;/MM#############MM@ M/#H+;:::%##############################M+/---/-/M#############################+;:;::::::;::::::::::;/MM############H%XX MX##MX#+%@###############################/----==X###########################M##MX%/:::::::::::::::/;;/#M###########@+;// #M#M#####################################/----/#M###################################M//:::/::::::/:/;/##############;/;/ @+#MH@###M###############################/---=/M#####################################X/:/;/::::::::;;;#############/;;;; M/;XHX#M#X###############################/---=X##############################M#######@/+@@X;::/;;;::;+#############;/+#; @+@:%/MM@/###############################+---=@############################@X$X%$H#M#M//M##H$%#/;;;/%H#############;$@#% #X#@/:##X:###############################X/--/#############################/:::/;:/#M#//@##########################%#### #H#MH;MM/;###############################X/---###########################M/:;:#%%+M;::/;%M#########################+M##M #MM$#%#H:;###############################H:---M##########################H::=$#MM##%/;/:;%#########################/H### ###=/:M$=:################################/=--###########################$/:;M######M%:;::#@#################$%H@M#;$M## ####;=@%-=#################################=/=############################/::#########:/#@/;M################%/;X##M/X#M M%@#X/#%-/#################################==:###M#######################M@:=:M####@/;/H#MX;:;#@#############%;%@##$/;$H M%@#@%#+=X################################M==:XXXXMM#######################===MX@M@/;;##MM#$/;//XM###########+;H###H+/;/ M$H#MH#%:M#################################====---:;%X####################M==:=:;;/:;:######H+;:/$##########M//M###M%//: M##@####/##################################/=:/===::::/@#M#################M::::::///##########///M#########M/########// M##:=:@M%M################################@===:%HH#%/;::::/X###############@/;:;::::XM#######M#@/;;+@#######M/#########; M##=:=@#$M###############################M/---=$#M##M@@/;=:;+X##############X;;;::::/X##########H//:+@######M/#########% #@@/$;##XM###############################H/=--=/X######@X%/::;@#############M$/;;:/;:;@M#########$/:;$#######+#M#######H #$######@@###############################X/-/##:/###########M;/M###############//:/:::/@#@#######@/::/#######$/M######## M$%HHH##@X###############################%/-=H#:==@#########M$/:/$###########M#X+;/;::/:==@$H@##@%/:::#M#####X/+H####### MX/#MX##MX##############################M$-==%#+:=HM##########H:=;##############@%/;;::::::==:#+/:::=:#M#####@/;%M###### MM/XMH###X###############################H/==;#@+::+H########M#+:=###############MM;;;/::::::=::::/==:/@M####M@:;X###### ###/@@@##H###############################@/-/=###@#:H############@/@###############M#;;:::::::://:/::/;X######M:;;###### /H#+:=@M#H###############################M@===@M##@:==@@#########H;;@###############@$/:::::::::;;;;;;/X#######/;;;+X@M@ :/#@X+###H################################H===:XMM#+;:::%@########H:X#################@;:;;::::::;;::;;H#######$;;/:;+X+ /;#MMM###$################################M====;H###$;:=:;######M#@=%##################@%/;:::::;;/;;;#M#######@+;/;;;/; ##@######/#################################/=-/=/@#####/:=@#@M####/=M#######################@;://///:@##########M#M/;;// MM#=;+%/:-#################################/==/==:#####MX/::::==:::/#######MH+/;//#$HM######M@X+/;/%X@#MM#########H;;;;: M#@:==/=-:#################################H:=--==@#######X/:=====/@#######+:::;;;::;+#MM#######M@#M###$H#########M+;;;: M##%:-/-=%###M#############################M+=/-==;$#######@X+/:;+#########::;/:::/;;;;+$@#############;%@#########@%//: #####@#@####@@###############################@/--=//@@#####################/:##########;;;#############;/##############@ ############H$H##############################H;=--/===###################H::=H#########$+;:;%H#M#######:::@############M ############@H#################################---/===/H#################H:::$##########@X/::/#########/;:#M############ ############M@################################@=-===-=:/XM###############H/::/############@;;;@@M######%::@@############ #############M@#################################:=/===:=:##################:::################//########;//X############ @############$#################################M$;=======:/X###############:::::/$#M#########@X:;/##M##M+;:/XM########## H###########M###################################M%=======::;$M#M##########@:;:::::#HM##########/;;######X;:;%@########## XM##########@@###################################@H======::::+M############/:::::::;/+X@#######H/;/H#M##@;;;/X########## X@###########X#####################################/==:==:::::#M###########M#/::::///;:#M########M;/@####$;;;########### %X##########M$M####################################X/:::=:===:::+X##########@/::::::::/:/@#######@M;/X###H/;;;@######### +$##########H$######################################X/:::=====:==:@##########@@:::::::::;$#########/;+####M;;;XM######## +%##########@$#######################################H/::=======:=/$M##########;=:/:::::;;########M;/;####M;;;#@######## ;+M#########M%@#######################################@:::==:=====:;%H#########H+;:::::;;;#########;;:####M;;;MHM####### ;+#####################################################@@::=======:::/#############/////:/@X########;/M####;;//$@M###### ;+##########@H##########################################@$:=::====::::::;%M########MX%/;:::;+H#####+;;M@#M#;/;:/$@###### :/@#########@X@##########################################M#:::====::::::=:#HM#########M%/;;;:+#####+;;/X#M#+/;::+H###### =:#M########@%@############################################+;::=:=::::/=:::;+X##########M@#HXH#####+;;;$###$;;/:/X###### =:###########@################################################/::::::::==:::::#####################;;:/%###M/;/:;X###### ==/$@########X@############################################M###;;::::::=::::::::;;#H@M###########MM:;;;+###M+;/:;+M####M ==;%@########$H############################################MM##X/:::::::::::::/:::/:/%#@M#######H%/;;;;+####$;/::/#####M =::+H########X############################################@#####M$/:::=:::::::::::/::://+%#@@@X+/;;/;;/%####H;:::;#M###M =::/X#######@X############################################/@M######M@/:::/::::::::::::::::/;;;/::/;/;;/X####M#/::;#####M =:=;%H######@%X##########################################M::==@HM#M##XM::::=:::::::::::::;;:::::::::;;/@#####%:;:;#HM##M ::=:+H###################################################M;=::=;$M####M+;::===::::/;;;/:::/;::::::/::;#######$;;;;@XM##M :==:/$######MX$###########################################/==:::;H#####M$+/:::::::/;::/::;/:;;::::/:;/#######@/;:;@X@### /:://%#######@M###########################################/::::::X##########@///;/:;/:/:::;;;;://;/;;#########M::;/X#### +:=-=+#######@M###########################################H:;:::=%##########MH#;:;/;:::::;:::::::;/;$@#########;;;/+XM#M %::-=/M#####M+#############################################==:::=%#############X%/;;;;;;;:/:;;:;;:/XM#########M;/;//X@#M $:=-=/######M@X###########################################M/::::=%##########M###M@X+/;;;;;;:;;;;;+@############;;///$HMM #;:--/@######X#################################################;:%##########################MM#################;;///X##M M/====XM#####M#################################################H%H#############################################/;;/;+X#M M+:===#@##################################################MM###################################################/;;;;/$#M M%:===MH#####M###########################################@:+XM#M##########@####################################/;;/;/%MM #X:===#XM###MM#M########################################M@::/@############/M@##################################%;;/;;%#@ MX:===@$@####HX##########################################@:==:::/$M######M#;;;XM#######################HM######$;;;;;/#@ MH:===H%H####XX##########################################@:==:::=:#H######M%/;/%H######################%M######X;;;;;/#@ MH:==-/%X###M$#M#########################################@:==:=::::;+H#####MH+/:/$###################MM+#######H//;;;/#@ M@:===/%$@###XXM#########################################M#:::==:::::/#@#######//;####################/X#########///;/@# M@;===:+%H################################################@:=:=:=:=:::::;/#####@%/;/$M#############M%:;H#######M%//;;;H@ MM;====+%X###$X############################################::::::::===::;:/XM###M%;:;$#############$;;/@########$//;;;X@ MM/====/%X###HM############################################=:=;::::::::::::;/XM##@@;:/M############;:;@#########X//;;;#@ ##@::=//%$#################################################::/###M#;/;/:::::::#####;;/#M###########///##########H//;;;#H ##@=:=/:+$###X############################################/;:/#M###$/;;;;:::::::;;/;:;/%@#########M/;;@#########@//;;;#X M#M===/:+%###$M###########################################/:::@######HM;;;::::::::;;;;;/$########$;/;;##########M/;;;;#X M#M===-=/%###X#############################################:::@@#######%;:/;::::::;;;;;;+M######M+/;;;##########M/;;;;#X M##===/=/%#################################################::::@@##########M;;/:::///;;;;X######X//;;;###########+;;;/#X M##=====;%@##H#############################################::::::/#########H$//::::::;;;:/#####H;;;;;;M##########+;;;;/$ M#@=====:%X################################################/::::::#@#########XM::::::;/;:/#####%:;//;;###########%;;;;/$ M#@=====:+XM###############################################X;:::::/+XM#########+;:::::;;:%#####/:;/;;;###########$;;;//% ##@=====:+$M################################################MM//::/::@M###########//;//#M######/;:/;//###########M;;;;/% ##@======/$H#################################################M#:;::::;//+X#######M#;/;#########:::/;;;###########H/;;;;+ ###======/%XM##################################################/;:::::/::/X@#######:;;@#######M:::/;;;###########H/;;;;+ ###======/X$M##################################################H/;;:::::::;+$@##M##:;;MH#######;:::;;;###########@/;;;;/ ##M======/%X@####################################################@#;/:::///:/;#M###::/;#M######/::/;;/###########MM//;;/ ##M======:%%H######################################################+::/:::::::;;;:::;:;;/@###M/;::;;;;#############//;// ##M======:%%X######################################################MX//:;;:::;:;;::::;;;;X###@;;;;;;;;#M###########//;// M#M======:%%XM#######################################################@#;:::::::;;:::::;;;%###X;;:;/;;;/H##########M;//// ###======:%%X##########################################################M#@/:::/:::/:/://;+###X/;;;//;//############;//;; ###=======%%$@#############################################/::/;::#M#####M#;:::::::;;;/;;$###$/:;;/;;;XM###########;;//; ###=======#%$H############################################M=::;;:::/H######%::/;::/;;;/;/H###%/;;;//;/#############;;//; M##=======#%$H#############################################:::$;::;=+H#####@$//:::/;///+$M###%;;;;;;;%#############/;;;; M##======/#%$X#############################################::/#M////:M#########;;;##M########%;;;;//X##############/;;/; ##M=====-=#%$$############################################@:::##$;;;;;#########X/;#M#########%/;;;/+M#############M;;;/; ##M:====-=@%$$#############################################;::###X#;;+#########MX//$M########$;;;;/$M#############M;;;/; ##M=====-=@%%$############################################@:::/$###HHM###########X/;$M#######$;:;;#@##############M;;//; ##M=====/=@%%X#############################################::::/MM#################//$#######X/;;;#################;//// ##M:======@%%%#############################################/=:::::#@###############++/#######H/::;################M;//// ##M:======@%%%#############################################X;:/:;::%HM#############X+/M@#####@/::;################M;//// ###:=:====@%%%##############################################X:::::/:;%##############+//$M####M/::;################M;//// ###:=:====@%X$M################################################//::::/#H############H;//@######;;;#################;;/// M#@:======H%%$M###############################################M;;;/=::::;;X@#M######H;/;/@####M;;;#################/;//; M#@:======/%%$#################################################X;;::::::::;+%H#####M$;;;;$#####;;;################M/;//; M##:======H%%$##################################################X+::::/;;;::;;$X@M#$;::;;+#####;;/#################/;;;; M##:======#%%%#####################################################///::::::/://///;/::::M#####;;/M################/;;;; M#@:==:===/%%%M####################################################$/;/:::::::::::;::::::;#####//;#################/;;;; M#@:======/%%%M#####################################################$;/::::::::::;;::::;;+#####+;;#################//;;; M#@=======/%%%M#####################################################@%/;::::::/;;;::::/;;$#####%;;M################//;;; MM/=======/%%%X######################################################M#/;M/;:/;////::///M#######//#################/;;;; M@/=======/%%%X##############################M#########################;+@#%///:;;;;;;/$M######M+;MM#############M#//;;; M@;=======/%%%X##################################################M##MM#;/@#MM$#;;;;/;;H#########$;/@#############M#//;;; MH:=======/%%%X###############################MH@M##########MHX+/+XXH@M;;H#####HXX$XXH##########H;/H#############M///;;; #H:::=::==/%%%X##############################@#;/@##########@//////;/M#//@########################/X###############//;;; MX:::=::==/%%%XM###########################;::M+;;::/X####M:;:#HHHX%+;:=:/@M#####################H//M############@///;;; MX:::=::=:/%%%XM##########################M=::#H;::::;####@:;:######@X@:;:/%HM###################M//H############H///;;; M$:::=::==@%%%XM##########################M=:;#M+:/:==M###@;:;#####M###;;//;/%#####################/X############X///;;; ##::::::==@%%%X############################::/####/::;@####///########/;X##MM;#H###################/$############X/////; @/:::=::==@%%%XM###########################:::####H;::##M##:::#@M###X/;%M###M%/;;+#M###############/+@###########%///;/; H;:::=:===H%%%XM###########################=::M#M##H$$#####;:://$H#+;;/H######X/;;#MM##############//X###########%///;;; $;:::=::==@%$%XM###########################:::HM###########+::::;;/;/;MM#####M#X/;;/XM#############//$##########M/;;///; %::::=:===@%%%XM###########################;:=/$###########X;:/:::/:;/##########@%;;/$#############//%##########M/;;;/// #::=:::===#%%%XM###########################$:/:/H###########@@///:/;:/#############;//M############%/###########@//;;;// ;:::::::==#%%%XM###########################@/;:::+###########H@;::;:::/$@##########/:;/$M##########$//##########@//;;;// ;:::::::==#%%%XM############################$::=::M###########H:;;;:;::;+$#######M#+:;//X##########H//##########H///;/// ::::::::=:#%$%XM############################@;:::=@@###########+;:::::/::;#X@M#####/;:;;/M#########@//##########H///;/// ::::::::::#%%%X##############################@//:::@@#############;;::::/;;;/M#M###/:////X##########+/###########/////// :::===::::%%%%X################################;;::::+###########@#::::::;;;;;;;;;::;:/::/##########%;##########$//;///; ::::==::::%%%%XM##############################M:;;::::XM###########%/;;:::;;;;;;;;;:::/;;;##########%/##########$//;///; :::====:::%%%%XM###############################/:;::;:/XM##########MH+;;;;;;;;;;;;;::;;/;/##########%/#M########%//;///; :::===::::%%%%X################################M#//::://MM##############@/;;;;/;///:/;/;;X##########%/#M########+//////; =::===:==:X%%%X#################################H+/=:::;::#@############@X#//;;;;;;:;;//%@##########%/#M#######H///////; ==:======:X%%%X##################################X/:=::::;;%@#############M$++//;;;;;//+H###########+;#@#######H;/;////; ==:::::==;%%%%X####################################::::::::;/X##############MHX+/;;/;;XM###########@+/#H#######$///////; ==::::::=;%%%%#####################################@///::::///#####################################X///H#######%///////; ===::::==/%%%%@####################################M$;/::::::;:;+$#################################/;//@#######%/;/////; ==::::===/%%%%@#####################################@$/;;::::::;:;XM###############################//;#@#######%/;////// ==::::===/%%%%@######################################MM:::::::::::/+X@#############################;/;MM#######+/;////// ==:::::=:+%%%$M#########################################/;/:::::::::/@###########################@#;;/#########///;////; ======:=;%X$%$##########################################H/;;::::::::::::;+#####################@+;;;;/#########///////// =:====:=;%X$%$##########################################MHM:;;::::::::::;;#%X@#################+/;;;//#########+//////// ::======/$X%%$#############################################/::/:::::;:::;::;;/XH@M#########M@X#;;;;;/;M########+//////// =======:/$XX$$##############################################@##//////;/:::/;;:/;/M###@MM@###//;/;;///#########@///////// =======:+%%$$$#################################################;;:;;;;/::::::::;;;;;;;;;;;//;;;;;;//+$#########///////// ====:==;+%%%$$#################################################X/;;;;;::::;::;;;;;;;;;;;;;;;;;;;;;//$@#########///////// ======:;+%%%$$##################################################X%/;;;/::::;;;;;;::;:;;;;;;;/;;;;//+H########M#///////// ==:===:/%%X$$$######################################################MM//;;/:/;///:/:/;;;;/;;;;////############///;//#/#+ ==:::=:/$%X$$X######################################################MH#/;;;:=::::;;:;;;;;;;:::///%###########$///;/////+ ==:::=:+$%X$$X########################################################M$+/;;;:::::;;;;;;;;;;;;//%H###########%//;//////% ==:::::+$%X$$X##########################################################@X#;;;;;;;;;;;;;;;//;;M$@############%/;//#+///% ::::::;%%%X$$H#################################################################M///;;;;;;/###M###############+////#+///% :==:::/%%%$$$@#################################################################M@HX%%%%$XXM#################H+#////////% :=:::=@%%$$$XM##############################################################################################%+#///////#$ ::::::@$$$$$X##############################################################################################M++#///////#$ ::::::#X%%X$###############################################################################################@+#////////#X ::::::#%%%$$H##############################################################################################$//////////#X :;/;::#%%%%$H##############################################################################################%//////////#H :;/;::%%%%%%@##############################################################################################+////////+/#H :;/::/%%%%%$################################################################################################////////#/XH :;:::/%%%%%%@M#########################MMMMMM##################################MMM#MMM#############M#####M@///////////$X