From 128de425536fa21bd1a147015df67ad4bcb114d6 Mon Sep 17 00:00:00 2001 From: Gyro_MK <67847501+f11g@users.noreply.github.com> Date: Sun, 12 Nov 2023 00:57:32 +0100 Subject: [PATCH] HuTao.go --- frames/HuTao.go | 6756 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 6756 insertions(+) create mode 100644 frames/HuTao.go diff --git a/frames/HuTao.go b/frames/HuTao.go new file mode 100644 index 0000000..893a8ca --- /dev/null +++ b/frames/HuTao.go @@ -0,0 +1,6756 @@ +package frames + +// This is the value stored in the FrameMap +var HuTao = DefaultFrameType(HuTaoFrames) + +var HuTaoFrames = []string{ + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................:++............................................................................................. +........................................................................................................................................................=%#%#............................................................................................ +.......................................................................................................................................................#%*==%#........................................................................................... +......................................................................................................................................................-#+==-=%=.......................................................................................... +....................................................................................................................................................:**--==--+%-......................................................................................... +.....................................................................................................................................-+++#@@@@@@@%%%%+-----===+*......................................................................................... +...............................................................................................................................:++#@%%%%%%%%%%%%%%%#===--======*#........................................................................................ +...........................................................................................................................-++%%%%%%%%%%%%%%%%%%%%*====--*#===-=##+-..................................................................................... +.......................................................................................................................-+%%%%%%%%%%%%%%%%%%%%%%%%*==-====##*-===+%@@#:................................................................................... +...................................................................................................................-+#%%%%%%%%%%%%%%%%%%%%%%%%%#+===-===*###=====*%%%%+:................................................................................. +..............................................................................................................:+#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=========##=+======#%%%%%+:............................................................................... +..........................................................................................................:++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+==========##=======-=%%%%%%@#:............................................................................. +.......................................................................................................-+@@@%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%#+---========##========-*%%%%%%@@=............................................................................ +....................................................................................................-+@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=----========##=-======--#%%%%%%%@#..........--............................................................... +..................................................................................................-#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+===========-=#%*=-======-=%%%%%%%%@#-.......-@+............................................................... +..................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#===========--+*##*=======-*%%%%%%%%@@-.....-@@:.=%+-.......................................................... +..................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+==============+#%#========%%%%%%%%%%@-....#@=+#@@@+.......................................................... +..................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======--=*#*+=*##*======-#%%%%%%%%%%@-..#@@@@@@@#........................................................... +...................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======-=*%###=+#%##====-=%%%%%%%%%%%%@:=@@@#+:.............................................................. +...................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=====+*+*%#=*#==#%#+===--+%%%%%%%%%%%%@#@@+:................................................................. +...................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======+#%%*=++=+#*++===--#%#%%%%%%%%%%%@@+................................................................... +....................................................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+======*%%#===+#*+#+-=--=%%#%%%%%%%%%%@@@-................................................................... +....................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======*##*==#####=-=--*%%#%%%%%%%%#**#@+#-................................................................. +....................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========+##+*%%%#+--=--%%%%%%%%%%%#****%@%%................................................................. +.....................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========-*#####*=====-+%%%%%%%%%%%*****#%#+................................................................. +.....................................................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========#%#+==-====-#%%%%*****%#+****##%+................................................................. +......................................................................................................#%%%%%%%%%%%@%%%%@%%@%%%%%%%%%%%%%%%%%@+=========#%*=========%%%%#*****##+++**###%-................................................................ +......................................................................................................+@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@*=========*#+----====+%%%%#****+##=:=**%##%+................................................................ +...................................................................................................:+@@%@@@@@@@@@@@@%%%%%%%%%%@@@@@%%%%%%%%@@%+========*#=-=======#%#%%%***+--=-:+#%%#%@-................................................................ +................................................................................................:+#%%%%%%%%%%%%%%%%%%@%%@@@%%@%@@@@%%%%%%%%@@@+========+#=-======+%%%%%%#**+-:-:--=****%+................................................................ +.............................................................................................-+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@%%%%%%%%%@@+========+*--======*@@@@@%@%**=::::--+***#+................................................................ +..........................................................................................:+@@%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@#========++--====-=%@@@@@%%#*+-::::=+****%+................................................................ +........................................................................................-+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%==========-=====-+@%%%@%****+===-:=####%#................................................................. +......................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=================#@@@@@%*****++*=-=+*%@+.................................................................. +.....................................................................................+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#***++=========+%%%%%%%*******#*=+***%-.................................................................. +.....................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*+++#%%%%%%%%###*#%@#*****%+.................................................................. +.....................................................................................:%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****@-.................................................................. +......................................................................................:+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%@-.................................................................. +.........................................................................................:+#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+................................................................. +.............................................................................................-+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:............................................................... +................................................................................................:%**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=.............................................................. +................................................................................................+#++++*%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#:............................................................ +...............................................................................................:%*++++*#++#**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@-........................................................... +...............................................................................................+#+++++#*+*#++++*#**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+............................................................ +..............................................................................................:%*+++++#++#+++++#*++++++**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+-.............................................................. +..............................................................................................+#+++++*#+#*++++*#++++++++++++#*+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%@=.................................................................. +.............................................................................................=%*+++++#+#*+++++#*+++++++++++*#+++++++*###*****#######%%%%%%%%%%%%%%%%%%%%%%%#%##*#*+++%-.................................................................. +............................................................................................#@#++++++##*++++++#+===++++++++*#+++++++**+*#++++++++++++++##********##****+++++++++**+++*+.................................................................. +..........................................................................................:#%%*+++++*%*++++++**+---=+++++++#*+++++++**+++++++++++++++++**++++++++*#++++++++++++++#++++%.................................................................. +.........................................................................................-@%%%*+++++#*+++++++#*=---++==++++#++++++++#*+++++++++++++++++##++++***##%*+++++++++++++**+++#-................................................................. +........................................................................................+%%%%#+++++*#++++++++#+=--=++-=++++#+++++++***+++++++++++++++++#%++++++++*##+++++++++-=++**+++*+................................................................. +......................................................................................-#%%%%%#++++**++++++++**+=--+++==+++*#+++++++*=++++++++++++++++++#%+++++++++**+++++=-+=--=++*++++%................................................................. +.....................................................................................#@%%%%%%*+++#*+++++++++#*++==++++++++**++++++**:=*++++++++++++++++***+++++++++#+++++=-+=--=++**+++#................................................................. +...................................................................................-#@%%%%%%#++*#*++++++++++#+++++++++++++**+++*++#=:-*++++++++++++++++*=*+++++++++#+++++++++=-+++**+++#-................................................................ +..................................................................................#@%%%%%%%%#+**+++++++++++*#+++++++++++++#+++*%#**=--*++++++++++++++++*=+*++++++++#+++++++++++++++*+++*+................................................................ +................................................................................-#@%%%%%%%%%##*++++++++++++**+++++++++++++#*#%%%%@@@%%%*+++++++++*+++++*=-*++++++++#+++++++++++++++*+++*+................................................................ +..............................................................................:#@%%%%%%%%%%%#*+++++++++++++#*++++++++++++#%%%%%%@@@@@@@%#*+++++++*+++++*+:=*+++++++**++++++++++++++*+++*=................................................................ +.............................................................................+@@%%%%%%%%%%#*+++++++++++++++#+++++++++++++#@%%%%%%%%%@@@@%%*++++++**++++*+:-+*+++**+**+++++++++*++++*++++*................................................................ +..................................................+........................-#@@%%%%%%%##*++++++++++++++++++#+++++++++++++*%%##%%%%%%%%%#%%%#+++++***++++*--=####%#***+++++++++#++++**+++%................................................................ +.................................................-@#+:..................:+@@%%%#***+++++++++++++++++++++++**++++++++++++++%#+%%%%%%%%%%+*#%%*++++**#*+++*+#%@@@%%%%#*+++++++++#++++**+++%-............................................................... +..................................................+@%@#+:.............-+@@%%%#%%*+++++++++++++++++++++++++**++++++++++++++###@%%%%%%%%%+++*##++++*#%%++*%@@@@@%*#@@@*+++++++++%*+++**+++#@-.............................................................. +..................................................:%=+*#%@#+++++++++#@@%%%%%%%%%#+++++++++++++++++++++++++**++++++++++++++#%*%%%%#+#%%%*=*++++++++*%%**%%@@%%%%-.=%@#++++++++*##*++**+++#%@-............................................................. +...................................................+#==#%%%%@@@@%%%%%%%%%%%%%%%%%*++++++++++++++++++++++++*+++++++++++++++#+=%%#+=.-*#%#:+++++++++*%+####%%%%%%+..-%*++++++++*#*#++**+++#%%%+:........................................................... +...................................................-%=*%%%%%%%%%%%%%%%%%%%%%%%%%%%++++++++++++++++++++++++#+++++++++++++++*-=*++:...:*%#::*++++++++#=-#**%%%#%%+..:#+++++++++**+#*+**+++#%%%@@+:..........--............................................. +....................................................+*+%%%%%%%%%%%%%%%%%%%%%%%#%%@#+++++++++++++++++++++++#+++++++++++++++*--+===...=++*:.=*+++++++**.=##%%*-#%+..=%+++++++++#*+*#+#++++%%%%%%@@+-......:+@+............................................. +....................................................-%+%%##%%%%%%%%%%%%%%%%%%%%#-.-#+++++++++++++++++**+++#+++++++++++++++*=-+==-::.===+...=*+++++++#:.-#%#%==%+..+#++++++++*#+++#*#++++%%%%%%%%@@@#+++#@@@-............................................. +.....................................................%+#%#=#%%%%%%%%%%%%%%%%@#-....##+++++++++++++++*%#+++#+++++++++++++++++-*=====-==++....=*++++++#-..+*+=:=#+..=*++++++++#*+++*##++++%%%%%%%%%%%%%@#=*@-.............................................. +.....................................................+#*%%+#%%%%%%%%%%%%%@#+:.......-%#+++++++++++*##%++++#++++++++++++++++*:*=-:::-==+-.....-**++++**..+=-..=+=..*++++++++*#++++*%*+++*%%%%%%%%%%%%%%#+%-............................................... +.....................................................-%*%%%%%%%%%%%%%@@#+:...........:+##**++++*###*+#++++#++++++++++++++++*-*+:::::-++:.......-*****#+:+=-===+-.=*++++++++#*++++##++++*#%%%%%%%%%%%%%*%+................................................ +......................................................%*%%%%%%%%%%@#+-................:%%@#%###**+++*#++++#++++++++++++++++*+-=--:::-+:..........:-++*#++=-:--*::*++++++++**+++++**++++*#@%%%%%%%%##%#%#................................................. +.....................................................:@*#@@@%@#++:....................##%-:%++++++++**++++#*++++++++++++++++#:.::-----.................:+-:::-+:+++++++++*#++++++++++++*##@@%%%%%%%%%#%:................................................. +.....................................................+@@#+++:....................-+:.-%%#..@*+++++++#++++*#*++**++++++++++++++..........................=-:--=:=*+++++++*#++++++++++++*###:+@@%%%%%%#%+.................................................. +......................................................--.....................:++##+%*%##...@#+++++++#++++*##++#%*++++++++++++*+:........................:---:.=*+++++++##+++++++++++++*%#@...-+@@@@@#@-.................................................. +...........................................................................#%%%#*-.-@%@+...##+++++++#++++*##++##%*++++++++++++**+*:.........................:=*++++++*#*++++++++++++++#%#@......-++@#+................................................... +..........................................................................+#-:::-:.=%%@@#:.+%+++++++#+++*#*#**%##%*++++++++++++*#=..........::..:..........-*#+++**#%*++++++++++++++++%%#%............................................................... +..........................................................................#=...:--+%%%%%@@-+%+++++++#+++%#*##*%###%#**+++++****+:...........:===--:........:=+**+*%##++++++++++++++++*#%#%............................................................... +.........................................................................=%:...:=+%%%%%%%%@@%+++++++#++*@%*#%#%####%########%=:...............:...--=:...........-%#*++++++++++++++++#:%#%............................................................... +........................................................................:@+...:-+%%%%%%%%%%@%+++++++**+*%%###%%#####++++++++%#-..................................+##++++++++++++++++*+.%#+............................................................... +........................................................................+#:...:-#%%%%%%%%%%%%*++++++*#+#%%%##%%##*#*++++++++%*%+:..............................:+###++++++++++++++++#-.%#+............................................................... +.......................................................................:%=...:-*%%%%%%%%%%%%%%*++++++#*#%@#%##%#*##+++++++++%.:+#+:...........................=*###*+++++++++++++++**..%#+............................................................... +.......................................................................+#:...:+#%%%%%%%%%%%%%%%*++++++##@=.-@@%%%%*+++++++++#:..:+#+-:.....................:-**++##++++++++++++++++#-..%#+............................................................... +.......................................................................#+....=#%%%%%%%%%%%%%%%%%*+++++*@@...:+#@@%++++++++++#+....:%#*=:.................:=**++++*#+++++++++++++++*#...%#:............................................................... +.......................................................................@=...-#%%%%%%%%%%%%%%%%%%%*+++*%#+......:#*++++++++++#@@@#+##***#+=::.........::=**++++++++#+++++++++++++++#-...%%................................................................ +.......................................................................+#..:*%%%%%%%%%%%%%%%%%%%%#++*%+........-%+++++++++++*%%%@@@*+***#+===------=+*=-+*++++++++#++++++++++++++*+...-%%......-+%@#..................................................... +.......................................................................:%=:*#%%%%%%%%%%%%%%%%%%%%%**%-.........##++*+++++++++%%%%%%*+**+*#+--+##%%%+:..+@#++++++++**++++++++++++*%:...+%*.-+@@%#=:-%-.................................................... +........................................................................##*%%%%%%%%%%%%%%%%%%%%%%%%*-.........-%*++++++++++++%%%%%%#+**++*#++#**%@@#-..=@%+++++++++*++++++++++++#+....+%##@%%%%+...+#+:.................................................. +........................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%=..........+#++*++++++++++#%%%%%%**#*++*##++*#@%%%@@#*%+++++++++#+++++++++++*#....:@@@%%%%%%#-..-*#%+:................................................ +........................................................................#@%%%%%%%%%%%%%%%%%%%%%%%%#%-........:%*++*++++++++++*%%%%%%%%%#***++++*#@%%%%%@@%+++++++++*++++++++++*%:..:+%%%%%%%%%%%*::-=:=#@-............................................... +.......................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%**%-.......+%+++**+++++++++*%%%%%%@#*#%%##%%%%@@%%%%%%%%++++++++++*+++++++++#-..+%%%%%%%%%%%%%%+--=...*@............................................... +......................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%#****.......##+++***+++++++++%%%%%%%@%%%#%%%%@#@@%%%%%%%%++++++**++*++++++++#+.-#@%%%%%%%%%%%%%%#==+...=@............................................... +.....................................................................-%%%%%%%%%%%%%%%%%%%%%%%%%%%******....-#@*++*****++++++++#%%%%%%%*****####%%%#%%%%%%%++++++**++*+++++++##.-@@%%%%%%%%%%%%%%%%==:..:#+............................................... +.....................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%*****#*..+%##++*%#****+++++++*%%%%%%%#+++**+++*%%%%%%%%%%++++++***+**+++++*@--#@%%%%%%%%%%%%%%%%%*:...=%:............................................... +....................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%#******####***++#@#*****++**+++#%%%%%%%*+*##*++#%%%%%%%%%%+++++****+*#++++*%%+%#*#%%%%%%%%%%%%%%%%#:..:%+................................................ +...................................................................-%%%%%%%%%%%%%%%%%%%%%%%%%%%%********#%**#*+*#%#******++**++*%%%%%%%#*#**#*+%%%%%%%%%%#+++++****++#++++%@%#****#%%%%%%%%%%%%%%%%=..+*................................................. +...................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%*********##*#++#####***********+#%%%%%%@#*++*##%%%%%%%%%%#++++****##+#+++#%#******#%%%%%%%%%%%%%%%%*..*+................................................. +..................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********#*#++#**%#************#%%%%%%%*++*+*%%%%%%%%%%%#+++*****#%*#*+##********#%%%%%%%%%%%%%%%%#::#+................................................. +.................................................................-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*************#+*#**##************##%%%%%%#***+#%%%%%%%%%%%#++******#%%#**#**********%%%%%%%%%%%%%%%%%-+*.................................................. +................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*************#+#****%#********#####%@%%%%%*++*%%%%%%%%%%%%*+*******#%##%************#%%%%%%%%%%%%%%%%*#:.................................................. +................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#************#*+#*****%#***####%%%%%%%@%%%%#+*%%%%%%%%%%%%%*********####*************#%%%%%%%%%%%%%%%%@+................................................... +...............................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*************##*#*****#%####%%@@%%%%%%%%%%%%*%%%%%%%%%%%%%%*#######*%%***************#%%%%%%%%%%%%%%%%@#................................................... +...............................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*************%#*#*******#%%#*******######%%%%%%%%%%%%%%%%@%%%%%%%%%%%*****************%%%%%%%%%%%%%%%%%@................................................... +..............................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**************%%##********##********#%####*#%*%###%%%%%%%%%%%#*****##******************%%%%%%%%%%%%%%%%%@:.................................................. +..............................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**************#%%#*****************%*+==+###+=*#*#%@@%%%%%%%%#****##*******************#%%%%%%%%%%%%%%%%@+.................................................. +..............................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***************##@#****************#+-=+++=+=--=##+==*%%%%%%%%#***##********************#%%%%%%%%%%%%%%%%@+.................................................. +..............................................................-#%%%%%%%%%%%%%%%%%%%%%%%%%%%#***************#*%#***************%*=+%%#%#+==---=+##==@%%%%%%**************************#%%%%%%%%%%%%%%%%@+.................................................. +................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%****************#*#**********#*****%+=-*%#%#==----#%###=%#%%%%%***************************%%%%%%%%%%%%%%%%%+.................................................. +..............................................................:+##%%%%%%%%%%%%%%%%%%%%%%%%#****************#*#**********#******%*--++=+==*+=-=#%#**#**%%%%***************************%%%%%%%%%%%%%%%%%+.................................................. +............................................................:+%####%%%%%%%%%%%%%%%%%%%%%%%*****************#*#**********#*******##***#%++%%=+==+=*%****#%#***************************%%%%%%%%%%%%%%%%%+.................................................. +..........................................................:+%########%%%%%%%%%%%%%%%%%%%%#*****************#*#********************###*#=*#%+*%#+#%***********************************%%%%%%%%%%%%%%%%%+.................................................. +.........................................................-%#******#####%%%%%%%%%%%%%%%%%%******************#*#************************#=##%=*####*******#****************************%%%%%%%%%%%%%%%%%+.................................................. +.......................................................+%#************##%%%%%%%%%%%%%%%%#******************#*##***********************#==##=#***********#****************************#%%%%%%%%%%%%%%%@+.................................................. +.....................................................-*##***************##%%%%%%%%%%%%%%******************##*##********#**************#*===+#***********#****************************#%%%%%%%%%%%%%%%@+.................................................. +...................................................-*####*#**************##%%%%%%%%%%%%%******************##*##*******##***************##++#************#****************************#%%%%%%%%%%%%%%%@+.................................................. +.................................................+*#######***************##%%%%%%%%%%%%*******************%%%#*******##******************###************#****************************#%%%%%%%%%%%%%%%@-.................................................. +...............................................-#%#****###****************#%:+@%%%%%%%#*******************##*********%#************%%%%%**#%%%#*********#****************************#%%%%%%%%%%%%%%%@................................................... +..............................................#%#******###****************#+..:+@@%%@%******************************%@************%@###%@%%%##%#********%#***************************#%%%%%%%%%%%%%%@#................................................... +............................................-*%#*****##%##***************#%-....:+@@#+%#***************************%@%************%%***#@@#***#@********%%****************************%%%%%%%%%%%%%%@+................................................... +...........................................+%#*#***##@@#**#**************#%.......--..:#%*************************#@@#************#%%%@@%%%###@@********%@%***************************%%%%%%%%%%%%%%@:................................................... +..........................................#%#*****#%#@%#*****************#+.............-%#**********************##@%**************#%%##**#%@%%#********%**#**************************%%%%%%%%%%%%%@#.................................................... +........................................-####***#%%-=@#******************#+..............:##********************#*=@#***********************************%+:%************************#%%%%%%%%%%%%@@#-.................................................... +.......................................-##*****#%#-.#%#******************%:................-%#*****************#*:@@************************************%+.-#**********************##%@%%%%%%%@@%++...................................................... +......................................-##*****#%+..:@#******************#%..................:*#***************#*.-@#*************%@@@%#**##%%%**********%@:.##********************##########*##%@+-...................................................... +......................................#%*****#*-...+%#******************#%....................-#*************#*.-#@*************#@####%%%@%%%@%*********#@+.:%*******************###************#%%#+:................................................... +.....................................+%#****#*.....#%*******************#+.....................-*#**********#*.-@@#*************%%****%@@#***#@#*********%@-.-%****************#####**************##%%#+-................................................ +....................................:%#****#%-.....@##******************#+.......................-##*******##..@@#**************#@%#%%@%%%#*#%@***********@+..-%**************#######**************####%#:............................................... +....................................+%****#%-......@#*******************%+........................:+##***#%-..=@%****************#%%%%#**#%@@%***********#@-...-#***********#@####*#%%#***************#*#%-.............................................. +....................................##****%#.......%#*******************%+..........................:#%%%#-..-@%*****************************************#@=....+#********#%-+%*#*#*%@%#*****************#%:............................................. +....................................@#***#%:.......%#******************#%-............................:+%:...+%***##******************#%##****************#@:....+%******%#:.-%###**#@=%#*****************%+............................................. +....................................##***%+........%#******************#%...................................-%****%#***************#%@%%%%@#***************%#.....-%#*#%#-....@##***#%.:##***************##+............................................. +....................................-%#**@:........%##*****************#%:..................................******@#**************#@%%%%%%%%*************%**%-.....:+#@=......@##****%...#%***************#+............................................. +.....................................#%###.........%#*******************%+.................................******#@#**************%%%%%%%%%%%************%**#%:...............@#****#%....+%#*************#+............................................. +.....................................:@##+.........@#*******************%+................................##*****%%#*************%%%%%*=*%%%%************@***##...............##****##.....-%#************#+............................................. +......................................-%%+.........+#*******************##...............................+#*****%%%#*************%%%%%+=+%%%%***********#@#***%+..............+%*#**%+......-%#***********#+............................................. +.......................................+@@.........+%#******************#@..............................-#*****#%%%#*************%%%%%%##%%%%***********#@#****%-.............#%#**#%-.......-%***********#+............................................. +........................................#@-.........##******************#%-............................-%******%%%%#*************#%%%%%%%%%%%***********#%%****#%:............@##**#@.........+#**********%-............................................. +........................................-@#.........-@#******************##...........................-@#*****%%%%%#**************#%%%%%%%%%************%%%#****#+............@##*#%+..........##********#%.............................................. +.........................................-@..........#%#*****************#%#.........................-#%****#%%%%%%%***************%%%%%%%%%************%%%%*****%-..........:%#*###...........:%#*******##.............................................. +..........................................-...........#%#*****************#%+:.....................:+@%***#%%%%%%%%%**************####%%%#*##***********%%%@#*****%:.........+%#*#%-............-%#******%+.............................................. +.......................................................#%##**************#*#%@+:.................:+@%%##%%%%%%%%%%%%**************#*#*%*%**##**********#@%%%%*****##.........####%-..............###****#%-.............................................. +........................................................=@%##**#**********#*##%@#++............:+@@@%%%####%%%%%%%%%*************#***##*%***#**********#%%%%%#*****%-.......-%##%+...............-%#***#%+............................................... +.........................................................:+@%%####*******#####%@@@@..........-+@@@%########%%%%%%%%%#************#+#*#**%***#**********%%%%%#%#*****%:......###%+.................###**#%-............................................... +............................................................-+@%%%%%%%%%%%%@@@#++-........:+#@@%%##########@%%%%%%%%%***********#+##*#**%***#**********%%%%%##%#****#+.....-%%%-..................+%#*#%-................................................ +................................................................-++++++++-............:+#@@@@%#############@%%%%%%%%%%*********#**%*#***#**+#*********#@%%%%###%%****%:..:+@@#:...................+%#*##................................................. +...................................................................................-#@%%%%@%###############@%%%%%%%%%%#********#+%#+#***###+#*********%%%%%%#####%#****.-@@#-.....................+%##@-................................................. +...............................................................................:+#%%#**%%%#################@%%%%%%%%%%%#******#+#%******###+#********#@%%%%%######%#**##+@+.......................+%#%-.................................................. +............................................................................:+#%#****#%%###################@%%%%%%%%%%%%%****#*+%#+#*****##+#********%%%%%%%#######%#**%#:.......................:@%%-................................................... +..........................................................................-#%##*****#%#####################%%%%%%%%%%%%%%%#**#+#%**#***#*##*#******#%%%%%%%%########%%**%-.......................#@@-.................................................... +.......................................................................:+%%#*******%%######################@%%%%%%%%%%%%%%%%%**%#+#****#*##*#*****#@%%%%%%%%#########%%**%:.....................+@#-..................................................... +.....................................................................+#%#*********%########################@%%%%%%%%%%%%%%%%#+#%#*#****#+#**#****%@%%%%%%%%%##########%%*##..................-+#@=....................................................... +...................................................................-#%#**********%#########################%#*+=--::::::::=%=*%%+#%##***+######%%@@%%%%%%%%############%%*%-.................+@+:........................................................ +.................................................................-*#************%###########################=.............+++%%#+#@@@@%#+%*###*=::--=+*#%%%#############%%##............................................................................. +..............................................................:+%#*************%############################=............-*=#%%+*=%:++=+*%*#:...........-+%##############%%%+............................................................................ +.............................................................-%#**************%#############################+............*=*%%#=+-%.+=++##+#:............:################%%#............................................................................ +............................................................+#***************%##############################+...........=+=#%#+*:-+.+=*+##+*:............:#################%@+........................................................................... +...........................................................-%***************################################*..........:*=*%%#=+.=+.++*=##+*.............:##################%@:.......................................................................... +..........................................................-%***************#################################*..........+=+#%#+*=.=+.@#*+##+*.............-###################@+.......................................................................... +.........................................................-%#**************###################################:........-+=#%%#=*..=+.@%+*%#++.............=###################%%:......................................................................... +........................................................-%#**************####################################:.......:*=*%%%+*=..++.@@+*%*++.............+####################%+......................................................................... +.......................................................:@#**************#####################################-.......=**#%%#=#:..++.@%+#%*+=.............*####################%%:........................................................................ +.......................................................#%**************#%####################################=.......*%%%%%+*+...*+.@*+#%+*-............:*#####################%+........................................................................ +......................................................-@#**************%#####################################+.......**#%%%+#:...*+-@+*%#+*:............:#######################%:....................................................................... +......................................................##**************#######################################*.......=*++*#%#....*-+@+#%#=*:............-#######################%+....................................................................... +.....................................................-%**************#######################################%%:......=%+#+*#-....*:@@*#%*=*.............=########################@:...................................................................... +.....................................................##*************########################################@*-....:+#+=*#=:.....*.+%%%%+++.............+########################@+...................................................................... +....................................................+@*************#%######################################%-+=...:**=-=+#:......#.+%*#@+*=.............+########################%@...................................................................... +....................................................##*************%######################################%#.++..:*+=====#:......#:+%+*+%%:............:*########################%@:..................................................................... +...................................................-%*************#%%%%%%%%%%%%%%########################%#..:*..:#=*++==#-......##%*=*##=.............:#########################%@+..................................................................... +...................................................+%**##%#******#@@++++++++++++++#%%%%##################@-...#:.:##*=#+=#-.....:%%+==*#:..............-##########################@+..................................................................... +..................................................:%#**#+=#******%:.................:++%%%##############%-....*-..-##****%-.....:%+-=+=*=..............=##########################%+..................................................................... +..................................................+%**#*==##****#-......................-+@%%##########%#.....+=...:+#%%%#:.....-#==+*+-#:.............+##########################%+..................................................................... +..................................................+%**#===+#***##..........................:+%@%#######@:.....++......:=+-......-%+=**#-*-.............*##########################%+..................................................................... +..................................................##*#*-===#***%-............................:+@%#####%=......:*................:%@%**%=#+............:###########################%+..................................................................... +..................................................%**#=-===+#*##...............................:+%%##%#........%:...............:#*@@@%#*:............-###########################%+..................................................................... +..................................................%***======##@-.................................-@%%#.........+-................#.:+%=-..............+###########################%+..................................................................... +.................................................:%*#+=*=====%#...................................-@@-.........++................#...#:...............*###########################@+..................................................................... +.................................................+@##=*###==-+#....................................-+..........:*................#...*...............:############################@-..................................................................... +.................................................+@#+=#*%**--=#+................................................%:...............#..-#...............-###########################%@...................................................................... +.................................................+@#+**###*-==*+................................................+=...............#..+#...............=###########################%@...................................................................... +.................................................+@*=#*%=@+-==%-................................................-+...............#..+*...............+##################%##%#####%+...................................................................... +.................................................:%+=##@*%===+#..................................................#:..............#..+*..............:#%%###############%*==+*####@-...................................................................... +.................................................+%=+%%*%+-==#+..................................................+-..............#..+*..............-##@@%%############%+==--=*%@@....................................................................... +.................................................+%=#@@@#---=%:..................................................++..............#..+*..............+-..-+%%%#########%*===----+#%-...................................................................... +.................................................-%##*#%=---++...................................................:#:.............#..++..............#......-#@%%######%==+#*#*=-=+%...................................................................... +...............................................-++@%=-=+====#-....................................................+=.............#..++.............-+........:+@@%%##%+=+#*%##*-=*@...................................................................... +.............................................-##*%@*==-====+#.....................................................-*............:%..+=.............++...........-+@@%#==**##.+#-=#+...................................................................... +.......................................:+#%%%#=:.-#%=======#+......................................................*-...........:%..+=............:*..............-#@+==**%+.#*-+%:...................................................................... +.....................................:+%+-::--:...:%+-===-=%-......................................................+*:..........:%..+=............=+...............+%===+#%##%==#+....................................................................... +....................................-%+:..:-.:+:..:%%=-==-=*.......................................................+#:..........-+..#=............#:................#*===#@@%==+%:....................................................................... +...................................-#-...==...:=.:*##*--=-*+.......................................................%=...........-+..@=...........-+..................##=#@*++-+#+........................................................................ +..................................-#-.:-+-.....:=#-..#*--=#-......................................................-%:...........-+..@=...........=+...................-%@#==-=*%:........................................................................ +.................................:%-..-+:......+#-....#*-++.......................................................++:...........=+..@=...........*+....................+@%+==+%+......................................................................... +.................................+*..-+::.....:#:......#%#-.......................................................+-............++..@=...........*+....................#%+%#*##.......................................................................... +.................................=+.:+::=....:-#.................................................................+#:............+-..@=...........*+...................-#:.-%@%:.......................................................................... +.................................-%-+:.+:...=*=+.................................................................#+.............*...@-...........*+...................+=..=@:............................................................................ +..................................+##++=--.+#*++................................................................-#=:...........-%...@-...........=+...................%-..+#............................................................................. +...................................--:%:*:+#:*++................................................................#=:=:..........++...@-...........=+...................%-.:#+............................................................................. +......................................%=#+#..*++...............................................................-%=.:-..........#-...@=...........-+..................-%*++%:............................................................................. +.......................................-%%:..+**:..............................................................##+:.:-:.......-#....#=...........:#.................-#-.::#+............................................................................. +........................................--...-##@-............................................................+#++-..:-:......*+....+=...........:%................-%-....+#............................................................................. +..............................................-%#-............................................................%=-++-...-=-:::-%:....+=..........:=%................#+.....:%-............................................................................ +.............................................................................................................-#::-++-:..::--=#+.....+*:......::--:#...............-%:......+#............................................................................ +.............................................................................................................#=..:-++=:.....:%:.....+#=:::::---:..*...............++.......:##........................................................................... +............................................................................................................:#:....-+++-::..++......+*:-----:.....*:..............@-........-%+.......................................................................... +............................................................................................................+=......:=+++===%:......:*:.........:=#+..............@:........--%#-........................................................................ +...........................................................................................................:*:........:=+++##........%=:.....:-=++#+..............@:.-=.:..:+:+@@........................................................................ +...........................................................................................................+=............:-%:........%*+=--==++++-*+..............@=.:*.=-..-++@+........................................................................ +..........................................................................................................:#:.............=+.........%++*+++++=-:.++..............-#:.+--+:..=%*......................................................................... +..........................................................................................................++.............:#:.........%-:-==--:....++...............-#-:*-++--##.......................................................................... +.........................................................................................................:#:.............++..........+-...:......:++................-***%*#%%+........................................................................... +.........................................................................................................++.............:#:..........+=...........++..................................................................................................... +.........................................................................................................*-.............+-...........++...........+-..................................................................................................... +........................................................................................................-#:............-=............++...........*...................................................................................................... +........................................................................................................##:...........:*:............++...........*...................................................................................................... +.......................................................................................................+@%=...::-:::..++.............++...........#...................................................................................................... +.......................................................................................................+@%#:-*%%%%%%+-%:.............+*...........#...................................................................................................... +.......................................................................................................+@%%#%%%%%%%%%@@..............+*..........:%...................................................................................................... +.......................................................................................................+@%%%%%%%%%%%%@@..............+*..........:%...................................................................................................... +.......................................................................................................:@%%%%%%%%%%%%%#..............+*..........:#...................................................................................................... +........................................................................................................@%%%%%%%%%%%%@+..............+*..........-+...................................................................................................... +........................................................................................................+%%%%%%%%%%%%@+..............+*..........-+...................................................................................................... +........................................................................................................+@%%%%%%%%%%%@:..............+*...:----..=+...................................................................................................... +........................................................................................................:@%%%%%%%%%%%#...............+*:-*#%%%%*:=@...................................................................................................... +.........................................................................................................-@%%%%%%%%%@+...............+#*%%%%%%%%##@-..................................................................................................... +..........................................................................................................+@%%%%%%%%@-...............#@%%%%%%%%%%%@+..................................................................................................... +...........................................................................................................#@%%%%%%%@................@%%%%%%%%%%%%@+..................................................................................................... +............................................................................................................+@@%%%%@+................@%%%%%%%%%%%%@+..................................................................................................... +.............................................................................................................:+@@@@+.................@%%%%%%%%%%%%@-..................................................................................................... +................................................................................................................:-...................@%%%%%%%%%%%%@...................................................................................................... +.....................................................................................................................................@%%%%%%%%%%%%#...................................................................................................... +.....................................................................................................................................=@%%%%%%%%%%#....................................................................................................... +......................................................................................................................................#%%%%%%%%@#-....................................................................................................... +.......................................................................................................................................#@@%%@@#+......................................................................................................... +........................................................................................................................................=++++:...........................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +........................................................................................................................................................:#%-............................................................................................. +.......................................................................................................................................................+%#*%-............................................................................................ +.....................................................................................................................................................-##+=-+%-........................................................................................... +...................................................................................................................................................:+#+====-+%-.......................................................................................... +..................................................................................................................................................-%*=--===--+%-......................................................................................... +................................................................................................................................................:#%+==----====+%-........................................................................................ +...............................................................................................................................................-%*======-=-===-+%-....................................................................................... +.............................................................................................................................................:*#+======-+#=-===-+%-...................................................................................... +..............................................................................................................................-+++++++++++#@@%+-========#%#=-==--+%-..................................................................................... +......................................................................................................................-+++%@%%%%%%%%%%%%%%%%*=--=======+###+=====-+%-.................................................................................... +................................................................................................................:++#%%%%%%%%%%%%%%%%%%%%%%#+----=======*#+=======--+%-................................................................................... +..........................................................................................................:++@@%%%%%%%%%%%%%%%%%%%%%%%%%%#=--==========##=--=======-+%-.................................................................................. +......................................................................................................:++@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=============##=-==========*@++..............-................................................................. +...................................................................................................-+@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=============##=-===========#@@#-...........#+................................................................. +..................................................................................................@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=============*%*===========-=%%%@#:........#@-................................................................. +..................................................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%============-+*##*+========--*%%%@@=......#@-.................................................................. +..................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=============-=#%#+-========%%%%%%@#....#@+:++#+.............................................................. +..................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-=======--*#*+=*#%#+=======+%%%%%%%@#-.#@@%@@@@+.............................................................. +..................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#======---+%###+=#%##+=====-#%%%%%%%%@@#@@@@#+-................................................................ +..................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=====+*=+##+*#==#%#*=====-=%%%%%%%%%%@@@*-.................................................................... +...................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======+#%%*=++=+##++====--+%%%%%%%%%%@@@+..................................................................... +...................................................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=====-+%%#====##+**=-----#%%%%%%%%%***#@:.................................................................... +...................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======+##*==*####+-=---+%%%%%%%%%*+***%+.................................................................... +...................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*========+##+*#%%#*=-=---*%#%%%%%%*****+#@*@#................................................................. +...................................................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=========+######+====---#%%%%%%%%*++++*#@%##................................................................. +....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========#%#+==--====-+%%%**#%%#+++*+*##*#+................................................................. +....................................................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========#%#=-========#%@*++**%#++-++*%**%=................................................................. +....................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=========*%+-=========%%%**+****+-:=+*%%##%-................................................................ +....................................................................................................-@%%%%%%%%%%%@@@@@@@@%@@@@%%@%@@@@@@%%%%+=========*#=-========+%%%**+*+--=-:=+##**%@+................................................................ +....................................................................................................:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#=========+#=--=======#%%%#***+-:::-=-=+*+#@=................................................................ +..................................................................................................:+@@@@@@@@@@@@@@@@@@@@@@@%%@@@%%%%%%%%%%%@#=========+*---======+@@%%%****=-:::::-+***%+................................................................ +................................................................................................++%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@%%%%%%%%@%=========+*---======#@@@@@@%#*-::::--=+***%-................................................................ +..............................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%@+=========+--=====-=%%@@@%%##*::--:-=+***##................................................................. +............................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*=================-*@%@@@#++*+==+*=:-*#%%#.................................................................. +..........................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*===--=--==========%@@@@#****+*+*#*==*#@+................................................................... +........................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####**+++=======*%%%%@****+++*%%*****%+................................................................... +......................................................................................-+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####*%%%%%%#***+*#%%%*****#+................................................................... +......................................................................................@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%*+**+#+................................................................... +......................................................................................#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***#%@+:................................................................. +.......................................................................................-+@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#-............................................................... +..........................................................................................:+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#-............................................................. +.............................................................................................:#%*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#-........................................................... +............................................................................................:@#+++++*%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@-........................................................... +............................................................................................+@*+++++*#+*#*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:............................................................ +............................................................................................##++++++#*+#*++++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-............................................................... +...........................................................................................:%*++++++#+*#++++++#*++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#:.................................................................. +...........................................................................................+%+++++++#+#++++++*#+++++++++**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**++#+................................................................... +...........................................................................................##++++++*##*++++++#*++++++++++++++***###%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**+*#*+++*%-.................................................................. +..........................................................................................:%*++++++*%#++++++*#++++=++++++++++#****####%#******##########%#######**##**+++++++++*#++++##.................................................................. +..........................................................................................+%+++++++*#+++++++*#++=--=++++++++*#+++++++*%**+++++++++++++++#*+***###**#++++++++++++**++++%-................................................................. +..........................................................................................+#+++++++#*+++++++#*++---=+==+++++**+++++++##*++++++++++++++++%*+*****+**#+++++++++=-=+#*+++#+................................................................. +..........................................................................................%*++++++#*++++++++#++=---++=-+++++#*++++++**+*++++++++++++++++##+++++++++#*+++++++=--=+*#+++*%................................................................. +..........................................................................................%++++++#*++++++++*#++=--=++==+++++#*++++++#==*++++++++++++++++*+*++++++++**+++++++=--=++**+++#-................................................................ +.........................................................................................-%+++++**+++++++++**+++==++++++++++#*++**+*+:-*++++++++++++++++*-**+++++++*#++++==+=---+++#+++*+................................................................ +........................................................................................-##++++**++++++++++**+++++++++++++++#+++##*#+++*++++++++++++++++*-=*+++++++*#++++-=++=--+++**++**................................................................ +......................................................................................:+@@#+++**+++++++++++#*+++++++++++++++#*##%%@@@@@@%#*+++++++++++++*-:=*++++++*#++++==+++==++++#+++%................................................................ +.....................................................................................+@@%%*++**++++++++++++#+++++++++++++++*%%%%%@@@@@@@@%%*++++++++++++*=:-=**++**+#+++++++++++++++**++#-............................................................... +...................................................................................-#@%%%%*+**+++++++++++++#++++++++++++++#%@%%%%@@@@@@@@%%#++++++++**++*+-=+*%####*#+++++++++++++++**++#+............................................................... +................................................................................:+#@%%%%%%*#*++++++++++++++#+++++++++++++*%%@%%%@@@@@@@@@%%%*+++++++**++*##@@@@@@@@%#++++++++++++++++#++*+............................................................... +..............................................................................:+@@%%%%%%%%#*+++++++++++++++#+++++++++++++*%%%%#@%%%%%%%%%#%%#++++++++***#%@@@@@@@@@@%++++++++++++++++#++*+............................................................... +............................................................................:+@@%%%%%%%%%#+++++++++++++++++#++++++++++++++#%##%%%%%%%%%%%=###++++++++*###%@@@@@@%#@@@*+++++++++++++++**++*............................................................... +..........................................................................-+@%%%%%%%%%%#*++++++++++++++++++#++++++++++++++*%#*%%%%%##%%%%-=*#++++++++*#@%#%@%%%%=.-%@*+++++++++++++++*#++%............................................................... +.......................................................................:+@@%%%%%%%%%%#*++++++++++++++++++++#+++++++++++++++%**%%%%#==%%%%-.+*++++++++*#%*###%%%%+..+%++++++++++++++++*#++%............................................................... +.....................................................................+#@@%%%%%%#*****++++++++++++++++++++++#+++++++++++++++#*#%%%=-.:+*%%-..++++++++++*#-*%#%%%%=..+#++++++++++++*#+++#++#............................................................... +..................................................................:+#@%%%%%%%%%%*++++++++++++++++++++++++++#+++++++++++++++++#%##+....=#%:..:+*+++++++*#=*%#++%%=.:%*++++++++++++#%*++#++#............................................................... +................................................................-+@@%%%%%%%%%%%%%*+++++++++++++++++++++++++#+++++++++++++++++**++=...=++*:...:+*+++++++*##*:..=%=.:++++++++++++++#%#++#*+#:.............................................................. +..............................................................-#@%%%%%%%%%%%%%@--%#++++++++++++++++++++++++#+++++++++++++++++**===--:==++......+*+++++++*#+-.:=*:..++++++++++++++#*#++#++#+.............................................................. +...........................................................:+%%%%%%%%%%%%%%@#-...:+#+++++++++++++++++*+++++#+++++++++++++++++*#====-===+=.......-#*+++++*%*-.-=+...*++++++++++++*#+#*+#++#@-............................................................. +.........................................................-#@%%%%%%%%%%%%%@#-.......-%#+++++++++++++*###++++#++++++++++++++++++#+-::::==*:.........=**####%%*=++=..:*++++++++++++#*+*#*#++#%@=............................................................ +.......................................................-#@%%%%%%%%%%%%%@#-..........:+%#*+++++++**##**#++++#*+++++++++++++++++*+:::::-+=.............:---*--:-*-..-*+++++++++++#*+++##*++#%%%#-.......................................................... +....................................................:+@%%%%%%%%%%%%%%@#-.............:@%%%%#######*++*#++++**++++++++++++++++++#+=---=+:................:+:::-*:..++++++++++++*#++++#%*++#%%%%@+-........................................................ +...................................................+@%%%%%%%%%%%%%%%@+...............+%#%##****++++++*#++++*#++++++++++++++++++++:---:...................+--==-..:*++++++++++*#+++++##+++#%%%%%%@@#*@@@.................................................. +..................................................#%@%%%%%%%%%%%%%@#-................%#%++#++++++++++*#++++*#+++++++++++++++++++*:.......................:=--:...-*+++++++++*#*++++++++++%%%%%%%%%#+#@+.................................................. +.................................................##+%%%%%%%%%%%%%%+.................-%#@-+%++++++++++*#++++*#*++++*+++++++++++++*+...............................+++++++++*#*++++++++++++%%%%%%%%%++%-................................................... +.................................................%**%%%%%%%%%%%%@-...........--.....##%#.-%++++++++++*#++++*##+++*%*+++++++++++++*=.............................-*++++++*##*+++++++++++++%%%%+#%%#=%+.................................................... +.................................................#*#%%%*%%%%%%%@-...........-###..+#%#@-..%++++++++++*#++++*##*++*%%*+++++++++++++*=.......:=-::-=-...........:=#*+***#%%#++++++++++++++*#%%%%%%%+##..................................................... +.................................................+**%%%#%%%%%%@-..........:+%--#+#@@%%#...%*++++++++++%++++####+++%#%*+++++++++++++**=-:....:-=--:-==-........+***###%#-+#++++++++++++++*#@%%%%%#+@-..................................................... +.................................................-#+%%%%%%%%%@-........+%%%#*:.-%@%%%%@#:.%*++++++++++#*++*%*###++#####*+++++++++**#*++=............:.............**+#=.+#+++++++++++++###%@%%%%+#+...................................................... +..................................................%+#%%%%%%%@-........**-::-=...*%%%%%%@@-+*++++++++++#%++#@#**##*###+*####**###*+=:.............................+#++*@:+#++++++++++++*@%*%@@@%*+@:...................................................... +..................................................+*+%%%%%%@+........+#:...:=:.:#%%%%%%%%@@#++++++++++%@*+#@%#**#%%%*++++****@@#-..............................:+#++++%++*++++++++++++##@##@#@*=*@....................................................... +..................................................:%=#%%%%@+.........-%-...:=-.+%%%%%%%%%%@#+++++++++*%+%+*@#@%###%%*++++++++%*##=:...........................=**+++++*%#*+++++++++++*%:###%:-@%@+....................................................... +...................................................#+*%%%%#...........-#:..--:-#%%%%%%%%%%%%*++++++++#+:@*+%:-#@@@@%+++++++++#+.-##-.......................:=*%*+++++++*@*+++++++++++#+.+%*%+..-+........................................................ +...................................................-%+%@%@-............@=.:---*%%%%%%%%%%%%%%*+++++++%+.=%*%+....:##+++++++++*@#+:#%*=:..................:=#*-##++++++++##+++++++++++%:.:@#%+............................................................ +....................................................#*++*#.............@=.::-=%%%%%%%%%%%%%%%%#+++++*@+..+%%@-...:%*++++++++++%%@@@#***+=:...........:-+**+-..+%+++++++++*#+++++++++#+...+%##++-......................................................... +....................................................:%+=#:.............@+..:-#%%%%%%%%%%%%%%%%%#++++#@-...:++-...+%+++++++++++%%%%@*****#*==--::-=+**+=+:.....-@*+++++++++*#++++++++%+..:#@%@@@@:........................................................ +.....................................................-#=%..............@=..:+%%%%%%%%%%%%%%%%%%%#+++#%...........+%+++++++++++*%%%%******#*---+##@*=::.........@*+++++++*++*#*+++++*@:+#@@%%%%%@+........................................................ +......................................................-%@..............@=..:#%%%%%%%%%%%%%%%%%%%%#+*#@...........##++++++++++++%%%%#++*+**#*-*#**@@@@@@#++.....+#+++++++**+++##*+++#@@%%%%%%%%%%@++-..................................................... +.......................................................++..............#*:.=%%%%%%%%%%%%%%%%%%%%%#+###..........#@*++++++++++++#%%%%*#%*+++###*+*@@%%%%%%@+....+%+++++++***+++*##*#%%%%%%%%%%%%%@%%%@+................................................... +.......................................................................:%=:#%%%%%%%%%%%%%%%%%%%%%#*##+.........#@%*++++++++++++*%%%%%#*##*++*+*###%%%%%%%@+....-%+++++++**%%++++#@%%%%%%%%%%%%%%%+.:-##.................................................. +........................................................................+%*%%%%%%%%%%%%%%%%%%%%%%%%##+.......-#%*#*++*++++++++++#%%%@%###%##%%@%%%%%%%%%%@@-....%*++++++**#@%**%%%%%%%%%%%%%%%%%%#:..=@.................................................. +........................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%#%%+......+@#**#*++*++++++++++*%%%%%##%%%%%%%%%%%%%%%%%%%%-...@*++++++**#%#%%%%%%%%%%%%%%%%%%%%%-.:*#-................................................. +........................................................................-%%%%%%%%%%%%%%%%%%%%%%%%#**%#:...-#%#***#+++*+++++++++++*%%%%****###**#%%%%%%%%%%##%-..@*+++++****%#@%%%%%%%%%%%%%%%%%%%%*=+-+%+................................................ +........................................................................#%%%%%%%%%%%%%%%%%%%%%%%%****#%-:+@%*****#+++**+++++++++++#%%%#+++*#*++*%%%%%%%%%%#**%+:@*++++*****%%%%%%%%%%%%%%%%%%%%%%%#-:..-%+............................................... +.......................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%******#@%#******#+++***++++++++++*%%%%***##%**#%%%%%%%%%%#***%#@*++++*****%@%%%%%%%%%%%%%%%%%%%%%%=....*#............................................... +......................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%#*******##%#*****#+++##***+++++*+++*%%%%%#***#%%%%%%%%%%%%#****%%*+++*****#%%%%%%%%%%%%%%%%%%%%%%%%=....*+............................................... +......................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%**********#%#****#++*#%#****++++***+*%%#**+*++#%%%%%%%%%%%#*****#+++*****#%##%%%%%%%%%%%%%%%%%%%%%%*...:%-............................................... +.....................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%#************%****#++*##%#*************#%#*****%%%%%%%%%%%%#****#*++*#####%***%%%%%%%%%%%%%%%%%%%%%%#:..:%................................................ +.....................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%*************%****#*+*#*###************#%#***+#%%%%%%%%%%%%#****%*#%%@@@%%****%%%%%%%%%%%%%%%%%%%%%%%-..:%-............................................... +....................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%#*************#****#*+*#**%%#*********#%%%%**+*%%%%%%%%%%%%%#****@%#**@@@#*****#%%%%%%%%%%%%%%%%%%%%%%+..=#................................................ +....................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%**************#****#*+*#**%%%#*******#%%%%%#*##%%%%%%%%%%%%%****##****%%#******#%%%%%%%%%%%%%%%%%%%%%%*:=%-................................................ +...................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%**************#*****#++#**%%%%%######%%%%%%%##%%%%%%%%%%%%%%********###*********%%%%%%%%%%%%%%%%%%%%%%%**-................................................. +...................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%#**************#*****#*+*#*%%%%%%%%%%%%%%%%%*=+%%%%%%%%%%%%%%*******##***********%%%%%%%%%%%%%%%%%%%%%%%@:.................................................. +..................................................................-%%%%%%%%%%%%%%%%%%%%%%%%%%***************#*****##+*#*%%%%%%%%%%%%%%%%#=-=%@%##%%%%%%%%%*****###************%%%%%%%%%%%%%%%%%%%%%%%@................................................... +.................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%#****************#*****##*##*#%%%%%%%%%+====*=--**+*=*@%%%%%%%****##**************#%%%%%%%%%%%%%%%%%%%%%%@-.................................................. +.................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%******************#******#%%%********##==###=----*##%+@%%%%%%#**#%#***************#%%%%%%%%%%%%%%%%%%%%%%@+.................................................. +................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%#****************#*#********#**********#==#%%*=---*%%#=%*#%%%@#**@#*****************%%%%%%%%%%%%%%%%%%%%%%%+.................................................. +................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%*****************#*##******##**********##+++**===-++++##****##**#%******************%%%%%%%%%%%%%%%%%%%%%%%@.................................................. +...............................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%#*****************##*#******%*************###%#+##=#%##******************************%%%%%%%%%%%%%%%%%%%%%%%@.................................................. +...............................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%******************##*%******%****************#=+#%=##*******##***********************#%%%%%%%%%%%%%%%%%%%%%%@-................................................. +..............................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%#*******************%*#%****##****************#=*%#=#*********#***********************#%%%%%%%%%%%%%%%%%%%%%%@+................................................. +..............................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%********************%**##***#*****************#*=+=##*********%************************%%%%%%%%%%%%%%%%%%%%%%@+................................................. +..............................................................@@%%%%%%%%%%%%%%%%%%%%%%%%#********************%**#%***%************%@@%#*#%*##**********#************************%%%%%%%%%%%%%%%%%%%%%%@+................................................. +..............................................................-#%%%%%%%%%%%%%%%%%%%%%%%%#********************##*##***%***********#@###%#**####%#*******%************************%%%%%%%%%%%%%%%%%%%%%%@+................................................. +................................................................-#@%%%%%%%%%%%%%%%%%%%%%**********************#*%***##***********@%***#%*#%@@%%@#******%************************#%%%%%%%%%%%%%%%%%%%%%@+................................................. +..................................................................+@@%%%%%%%%%%%%%%%%%%#**********************%%#***#************%#****%%@%#***%%******%************************#%%%%%%%%%%%%%%%%%%%%%@+................................................. +...................................................................:+#@%%%%%%%%%%%%%%%%***********************%#****#************#@%#%@@@@#***%@#******%*************************%%%%%%%%%%%%%%%%%%%%%@+................................................. +....................................................................:+%%%%%%%%%%%%%%%%#*****************************#*************#%%%##*%@%%@@%*******@#************************%%%%%%%%%%%%%%%%%%%%@+.................................................. +...................................................................-%%####%%%%%%%%%%%%*****************************#**********************####*********@@************************#%%%%%%%%%%%%%%%%%%@#................................................... +.................................................................-#%#****####%%%%%%%%#*****************************#***********************************%*%***********************#%%%%%%%%%%%%%%%%%@#.................................................... +................................................................+%##**#******##%%%%%%%#***************************##**************#%%#*******#*********%:##***********************%%%%%%%%%%%%%%%%@+..................................................... +..............................................................-#%#***#******###*##%%#####*************************#**************%@%%%%#*#%@@@%********@-:%***********************#%%%%%%%%%%%%%@#=...................................................... +............................................................:#%#******************#########***********************#*************#@#**#%@@@%##*%%*******@+.-%***********************%%%%%%%%%%%%##@#:..................................................... +...........................................................+%##*****####%#**************###%#********************##**************%#**#%@%@#**#@%*******#@:.##***********************#%%%%%%%%##**#%%+.................................................... +.........................................................-#%##***##%@@@@%#****************#%#%%#*****************%***************#%@@@%#*#%@@@%*********%#..*#**********************%%%%%%###******#%#-.................................................. +........................................................-@##*####%@+++%%#*****************#+.:+#%%#*************#%*****************##******###***********%+.-%********************#%#%%###**********#%%#-................................................ +.......................................................+%#****%*-....+@#******************%+.....-+%##**********%%***************************************%+..-%******************###*****************##%%+:.............................................. +......................................................#%#***#*-......#%#******************%-........:+*%##*****#@#*******************####****************%+...##***************#%#*##*******************#%%+............................................. +.....................................................#%#**#%#.......-@#******************#%............:++%%%%%%##******************%@@%%%%**************%+....##************#%@%*****#*******************#%*-........................................... +....................................................#%#**#%-........+%*******************#%................:#@%*****##*************%%%%%%%%%*************%#....:%#*********#%+-:%##***%%#*******************#%+.......................................... +...................................................+%##*#%-.........@#*******************#@.................+%******%#************#%%%%@%%%%#*************%-....-@#****##%%+:...+%****#@%#*******************#%#......................................... +..................................................-%#**#@-.........:@#*******************#+.................+%*****#@#************%%%%#=*%%%%**********##*##.....-@%%%@++-......:%#***#%=#%#*******************##........................................ +..................................................#%**#@-..........+@#*******************#+................-@#****#%%#************%%%%%+#%%%#***********#**%+.....-++:...........+%#***%-.-%%#******************##....................................... +..................................................@#*#%-...........+@#*******************#+...............-@%*****%%%*************#%%%%@%%%%#***********#***%-....................##***#+..:+#%#*****************%+...................................... +..................................................@##@-............+@***#****************#+..............-@#*****%%%%**************%%%%%%%%%************##**##....................+%#**#%:....+#%#***************#%-..................................... +..................................................@#%#.............:%#**#****************##.............-%#*****#%%%%**************#%%%%%@%##***********##***%-....................##***%+......-%%##*************##..................................... +..................................................@@@:..............%#*******************#@............+%#*****#%%%%%***************##%##%#*#************%****%:...................+%***#+.......-#%#*************#%:.................................... +..................................................#@+...............+%*******************#%...........#%******#%%%%%%***************##*#*##*#************%%***##....................##**#%.........=@%#************%+.................................... +..................................................-@#...............:%#*******************%-........-#%*******%%%%%%%#*************###*#*#**#************%%#***%-...................-%#**%:.........:#%#***********%=.................................... +...................................................#@+...............#%*******************#+.......-@#*******%%%%%%%%#*************#***#**#**************%#%#***%....................@##*%+...........-@%#*********%=.................................... +....................................................+.................##******************#%-.....+%#*******%@%%%%%%%#************#*#+#***##+#***********%##%***#-...................+%#*#+............-@%#*******#%+.................................... +......................................................................-%#******************%#...:#%********%%%%%%%%%%%************#*#+#***##*#**********#@###%***%-..................:%#*#+.............-@%*******#@:.................................... +.......................................................................-%#*****************#%#:=@%********#%#%%%%%%%%%***********#*#**#***##*#**********%@####%****...................+%*#@..............-@#*****#%#..................................... +........................................................................-*##****************#%@@#********#%##%%%%%%%%%#**********#*#+*****##*#*********#%%######**#+..................:%##@...............+%*****%@:..................................... +..........................................................................#%##***************#%#********#%###%%%%%%%%%%*********#*##+#****####*********%%%#######**%-..................###@...............-%#**#%@-...................................... +...........................................................................-%%#*********#**###*********#%####%%%%%%%%%%%********#*%*******#*#*********%%%%########**%:.................+%#%................@#*#%@-....................................... +............................................................................:+%%####******###*********#%#####%%%%%%%%%%%%#*****#+##+#*****#*#*******#%%%%%########%*##.................:%#@...............:@##@#:........................................ +...............................................................................:+#%%%######**********#%######%%%%%%%%%%%%%#******%*+#*****#*#*#***#%%%%%%%#########%*##.................@#@...............#%%%+.......................................... +...................................................................................:++#@%***********#%#######%%%%%%%%%%%%%%%#*#+#%+*******#*#+#*#%%%%%%%%%##########%#%-................@%#.............+#@@+:........................................... +....................................................................................:+%#***********#%########%%%%%%%%%%%%%%%%%*+%#=#******#*#+%%%%%%%%%%%%###########%#%-...............@@-.............@@=.............................................. +...................................................................................-%%************#%#########%%%%%%%%%%######%+#%*+#******%*#+**##%%%%%%%%############%%#...............@#............................................................... +.................................................................................-#%*************#%##########%%*+=--:::.....:*+%#+#@%%%##*#*#+=...::=+#%@%#############%%#..............-................................................................ +................................................................................+%#*************#%############-.............++#%#=%:.:*:..+*#++........:*################%+.............................................................................. +..............................................................................-##***************%#############-............:*+%%*+#..+#...+*#++.........+#################%-............................................................................. +............................................................................:+%#***************%##############=............++*%%+#+..+#...++#+*.........+##################%-............................................................................ +...........................................................................-%#****************%###############=...........:*=#%#=%=..+*...++#+*.........*##################%%:........................................................................... +.........................................................................:#%#****************#%###############+...........-++%%*=@+..+*..:+*#+*.........*###################%#........................................................................... +........................................................................=%#*****************#%################+...........+=#%#=+#+..-*..-**#+*.........*####################%#.......................................................................... +.......................................................................#@#*****************#%#################*..........:*=#%#=*++...*..-+*%+*........:######################%+......................................................................... +......................................................................#%#******************%##################*:.........-**%%*=*=+..-*..=+*#=#........:#######################%-........................................................................ +.....................................................................+%*******************#####################:.........=+#%%+=*-#..+*..++##=*........:#######################%%:....................................................................... +....................................................................-%*******************#%####################-.........=#%%%++*:%..+*..+=##+*........-########################%#....................................................................... +...................................................................-%#*******************%#####################=.........=%*####*:%..++.:*+%#++........-#########################%-...................................................................... +...................................................................##*******************#######################+.........:*=##=*::#..++.-%#%#*=........=##########################%-..................................................................... +..................................................................+%*******************########################+..........=*+++=..#..++.:**@%%-........+##########################%#..................................................................... +.................................................................:%*******************#%#######################*..........=#==#:..*..++..++***.........+###########################%#.................................................................... +.................................................................+#*******************%#########################:.......:+*===*-..+..++..=*=*#-........*############################%-................................................................... +................................................................:%*******************##########################%-.......++=====*..+:.++.-*+==++.......:##############################*................................................................... +................................................................+#******************#%########################%@+......:*=+===-+-.++.+=:*=====*.......:##############################%#.................................................................. +...............................................................:%******************#%#########################@=+......-++*=+=-=+.++.+=+=-==*=#.......=###############################%-................................................................. +...............................................................+#******************%#########################%#:#......=+**=#=*=+:=+.++*=+++*=#.......+%###############################%:................................................................ +...............................................................#******************#%#########################%:.*:.....:+%*+#-#=+=-+.+=+#%+#=++.......#@###############################%#................................................................ +..............................................................:%*****************#%#########################%+..+-.......:+#%*%##=-+.+-..:+#+#-.......##%###############################%-............................................................... +..............................................................+#*****************%##########################@:..+=..........---:..:#.+-....:*+.......:++@################################%:.............................................................. +..............................................................##****************#@%@%%%%%##################%+...:+................:%:%:..............-+-@################################%+.............................................................. +..............................................................%*****************%+++++++++#@%@%%###########@:....#:...............:%:%:..............++.@%################################%-............................................................. +..............................................................%****************#+...........:+++@%%%######%+.....=:................#:%:..............*:.+%################################%#............................................................. +.............................................................-%*****************.................:+#@%####@:.....+=................#:#:.............:%..-@#################################%-............................................................ +.............................................................+%***************#-....................:+@%%%#......-+................*:#..............-+...@%#######################%%#%######@:........................................................... +.............................................................+#****##*********%.......................-+@@+.......#:...............*=*..............++...@%#######################%+=+*#%###%+........................................................... +.............................................................+#***%**#*******%+.........................-@-.......*:...............*%*..............#:...+@########################=====+#%#%@........................................................... +.............................................................+#**##==*#******%:...................................+=...............+@*.............:%....+@######################%*=======+#%@:.......................................................... +.............................................................+#**#+=-=#*****#@....................................+*...............+@*.............=+....-@%#####################%+==--=====*@+.......................................................... +.............................................................+#**#=-===#****%+....................................:%:..............+@+.............*+.....@@@@@@%%%##############%+==++#*====%+.......................................................... +.............................................................+%***--==-+#***@-.....................................#-..............=@+.............#:.....-++++++#@@@@@%%#########==**%*%===-#+.......................................................... +.............................................................+%*#+---=--*#*#@......................................++..............-%=............:#.................-++@@%%%####*=+*##:@=-=-#+.......................................................... +.............................................................-%*#=---====#*%+......................................:#..............:#=............++......................-+@@%#%+=+*%--@====%+.......................................................... +..............................................................%*#=-++====*%@-.......................................%:.............:%+............*-.........................-#@%==**%:##-===%:.......................................................... +..............................................................###=+##%#===%@........................................+=.............:%=............#............................#%==+%#+%=-==+@........................................................... +..............................................................+%*=#*%*@+=-*@........................................+*.............:#=...........:%............................+%==%@@%+=-==++........................................................... +..............................................................+@++###:@+-=+@........................................+*:............:#-...........:%.............................+##@#==---==#+........................................................... +..............................................................:@+**%-:@=-=*#........................................+=.............-#-...........-%.............................++#@+-----==%:........................................................... +...............................................................%=#*%:+%=--*+........................................@=.............-%-...........:@.............................#+=##+-----=%............................................................ +...............................................................%+##@+##===#-........................................@-.............=@-...........-@............................+#:.::+#=---*+............................................................ +...............................................................+%@@@*%=-==%.........................................%:.............+@-...........-#............................++....=@%++=%+............................................................ +...............................................................+@%++#+---=%.........................................%:.............*@-...........-+..........................+%*--=:.*--@@@+............................................................. +...............................................................+@+--====-+#.........................................#:............:%@-...........=+........................-**-...::-*................................................................... +..............................................................:#@*---====*+........................................-*.............-@@-...........=+.......................-%=.......*+................................................................... +.............................................................-#*##=--====%+........................................+*.............+*@-...........=+......................-%=.......:%+................................................................... +.............................................................#=.:=+====-=%-........................................+*=:...........**@-...........++.....................:%=.::.....:%-................................................................... +............................................................#%-:..+====-=%.........................................+=-=-::........#=@=...........*+.....................#+.-+:.....-%.................................................................... +...........................................................##-:==:*#=-=-=@.........................................#=:.:-==--:::.-%:@=.........:=#:....................-#::+-......-%.................................................................... +..........................................................=%-...:-@#+---+@.........................................@*=::..::-====+@:@*=-:::::-==:*.....................+=.==:......-%.................................................................... +.........................................................-%=..:..-@=%+=-*@.........................................%+++=-::......++.@*:-====-::..#.....................#::+:-....-:-%.................................................................... +.........................................................#*:.-:..:%.-%+=#+.........................................#:-++++==---:-%-.+#:........:=%.....................#:-+--...:+::%:................................................................... +........................................................=#:..=:...#-.:*%#.........................................:#:.:-=+++++++*@..+%+-::::-==+*%.....................%+*+=-...:#+:#+................................................................... +........................................................@=...+...:+#...-..........................................+#:....:::--==#+..+%*++++++++==%.....................%+#***+=--%@=#+................................................................... +.......................................................-%:..:*...=:#=.............................................+*...........:%:..-#-======-:.:+.........................-@+@%##+%@+................................................................... +.......................................................+*...:*...=-=%:............................................+*...........=+....#:.........-+.............................:+........................................................................ +.......................................................++...:+...:+.+%=...........................................+*...........#-....%:.........=+....................................................................................................... +.......................................................+=...:+.::.+=*#@@@.........................................+*..........-#.....%-.........++....................................................................................................... +.......................................................+=...:+.:=-#%#%#++.........................................+*..........+-.....@=.........*+....................................................................................................... +.......................................................++...:*+=*##:..............................................+*.........:%......++.........#:....................................................................................................... +.......................................................-#:...#=..##...............................................+*.........=+......++.........#........................................................................................................ +........................................................@=..-##...................................................+*.........#-......+*........:%........................................................................................................ +........................................................-%+##+-...................................................+*........=@.......+*........-%........................................................................................................ +.........................................................=@-......................................................+#:.......=+.......+#........-*........................................................................................................ +..........................................................+.......................................................+@=.......=#.......+#:........=........................................................................................................ +..................................................................................................................#%*.....:-+@.......+#:........++....................................................................................................... +..................................................................................................................@%%-:=+#%%%@.......+*.........*+....................................................................................................... +..................................................................................................................@%%*#%%%%%%@-......#%:........*+....................................................................................................... +..................................................................................................................@%%%%%%%%%%@+......@%--=====--%@....................................................................................................... +..................................................................................................................%%%%%%%%%%%%+......@@%%%%%%%%%%@....................................................................................................... +..................................................................................................................+%%%%%%%%%%%@.....:@%%%%%%%%%%%@....................................................................................................... +..................................................................................................................+@%%%%%%%%%%@.....+@%%%%%%%%%%%@....................................................................................................... +..................................................................................................................:@%%%%%%%%%%@.....+@%%%%%%%%%%%@....................................................................................................... +...................................................................................................................=@%%%%%%%%%@.....+@%%%%%%%%%%%@-...................................................................................................... +....................................................................................................................#@%%%%%%%%@.....+@%%%%%%%%%%%@+...................................................................................................... +.....................................................................................................................#%%%%%%%%@.....+@%%%%%%%%%%%%+...................................................................................................... +......................................................................................................................#@%%%%%@=.....#@%%%%%%%%%%%%+...................................................................................................... +.......................................................................................................................#@%%%%#......+@%%%%%%%%%%%%-...................................................................................................... +........................................................................................................................-+@@@-......:@%%%%%%%%%%%@....................................................................................................... +.....................................................................................................................................-@@%%%%%%%@@+....................................................................................................... +......................................................................................................................................:++@%%%%#+:........................................................................................................ +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.................................................................................................................................................................:....................................................................................... +...............................................................................................................................................................:+%-...................................................................................... +................................................................................................................................:::::::::::::::::::...........-#%+*=..................................................................................... +................................................................................................................::::++++++++++++@@@@@@@@@@@@@@@@@@@++++-:::.:+%*===%:.................................................................................... +.............................................................................................................:+#@@@%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@+#%+====*#.................................................................................... +...........................................................................................................:+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=--====#=................................................................................... +..........................................................................................................:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#====--==-+%::................................................................................. +..........................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+=======-==-*%@=................................................................................ +.........................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======*#+-=--#%@#:.............................................................................. +.........................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+======-+###=-=-=%%@@=............................................................................. +..........................................................................................................#%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=========*#*#=====*%%%%#-........................................................................... +..........................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=-=========##======-=%%%%%@+:......................................................................... +..........................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=--=========##=======-*%%%%%@@=........................................................................ +..........................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*============#*=======--#%%%%%%@#-...................................................................... +..........................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*============##=-=====--+%%%%%%%%@+:.................................................................... +..........................................................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*==========-=*##+======-=#%%%%%%%%@#-................................................................... +..........................................................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*===========--=##*======-+%%%%%%%%%%@#:................................................................. +..........................................................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-======--+##+=+#%*=======#%%%%%%%%%%@#:.......:........................................................ +...........................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=======-+###%*-#%#+======%%%%%%%%%%%%%@+.....=%:....................................................... +...........................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-====+**##++#+-*###+====*%%%%%%%%%%%%%@@:..:#@#........................................................ +...........................................................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======*%%#==*==##*+===-=%%%%%%%%%%%%%%@#..-#@=:-:...................................................... +...........................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=====-=#%#+===*#*+*===-+%%%%%%%%%%%%%%@@==@@@@@@#...................................................... +.........................................................................................................::+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%========#%*==*##*#+-===#%%%%%%%%%%%%%%#%@@@@@@#+-...................................................... +......................................................................................................:+*@@@%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=========##+*#%##*--=-+%%%%%%%%%%%%%%***%@%*=:......................................................... +...................................................................................................:+#@@@%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======-+#####**=-==-*%%%%%%#%%%%%#****%@%@+.......................................................... +................................................................................................:+#@@%%%%%%%%%%%%%%%@@%%@%%%%%%%%%%%%%%%%%%%%%%%%%+=======-=#%#+==-=====%%%%%#****#%%*+***%##@-.......................................................... +..............................................................................................-+@@%%%%%%%%%%%%%%%%%%%%%@%%%%@@@%%%%%%%%%%%%%%%%%%%+=======-=#%*=--=====*%%%%%******%#****##*%#........................................................... +.............................................................................................#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%*=========##=========%%%%%%******#*==+#%**@=........................................................... +............................................................................................:@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%@@%@@@@@#=========*#========+%%#%%%****++*+--#%%#*#@:.......................................................... +.............................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%@%=========**-=======%%%%%%%#**+--=-:=##**%%#........................................................... +..............................................................................................:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%@%=========*=-=====-+@@@@@@%%#*+-::::--+***#:........................................................... +..............................................................................................:@%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%+========*========%@%%%@@@@%%*=-::::-+**%#............................................................ +..............................................................................................+%++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=--=============*@@@@%%@%**#*-:--:-+##%#:............................................................ +.............................................................................................=%*++++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*==---=-=====+%%%%%%%%*****+=++--+#@#:............................................................. +............................................................................................:%*+++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**++++++#@@@@@@@%*******#*++**%+.............................................................. +............................................................................................+#+++++++++###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%#*****%@%****##-............................................................. +...........................................................................................:%*+++++++++#+++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#%@@=............................................................ +...........................................................................................+#+++++++++*#+++#***###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:.......................................................... +..........................................................................................:%*+++++++++#*++*#++++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=......................................................... +..........................................................................................+%++++++++++#++*#++++++++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-....................................................... +..........................................................................................##+++++++++*#+*#+++++++++++****##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-...................................................... +.........................................................................................:%*+++++++++*#*#+++++++++++*#+++++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-...................................................... +........................................................................................=@%++++++++++*%#+++++++++++*#*+++++++++***##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+....................................................... +......................................................................................-#@@*++++++++++##++++++++++++*#+++++++++++++++*#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%##@*+:......................................................... +....................................................................................:+@%%%*++++++++*#*+++++++++++++#*++=+++++++++++++#*++***#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###****#*#*+%-........................................................... +...................................................................................-#@%%%%++++++++*#++++++++++++++**++--++++++++++++*#++++++#=+*+******########%%######%##*****++++++++*#*#+##........................................................... +..................................................................................=@%%%%%#++++++*#*+++++++++++++++#++=--++++++++++++#*++++*#=:=*+++++++++++++++*#++++++#+++++++++==+++++#*#++%:.......................................................... +................................................................................:#@%%%%%%#++++*#*++++++++++++++++*#+=--=++==++++++++#+++++#=-:=*+++++++++++++*+*#*****+#*++++++++=-=++++*#*#+%+.......................................................... +...............................................................................:#@%%%%%%%***##*++++++++++++++++++#*+=--=+=-=+++++++**++++#=:::-#+++++++++++++*+*%*++**+*#++++++++--=+++++#*#+*+.......................................................... +..............................................................................:#%%%%%%%%%##**++++++++++++++++++++#+++==+++=++++++++#**++#=::::-*+++++++++++++*++**++++++#+++++=++--=+++++*#***#.......................................................... +.............................................................................:#%%%%%***+++++++++++++++++++++++++*#+++++++++++++++++##%*##=-::::+*++++++++++++*++*#++++++**+++=-=+=-=**++++#+**%:......................................................... +............................................................................:@%%%%%%*+++++++++++++++++++++++++++**++++++++++++++*#%%%%%@@@%*=-:-*++++++++++++**++#*++++++#++++=+++=+*#++++**+#%:......................................................... +...........................................................................:#@%%%%%%%*++++++++++++++++++++++++++#*++++++++++++*%%%%%%%@@@@@@@*-:*++++++++++++**++*#++++++#+++++++++++#*++++#+*@#:........................................................ +..........................................................................:#@%%%%%%%%%*+++++++++++++++++++++++++#+++++++++++++%%%%%%@@@@@@@@@@#-=*+++++++++++***++##+++++**++++++++++*%*+++#*+#@#:....................................................... +..........................................................................#%%%%%%%%%@#%*++++++++++++++++++++++++#+++++++++++++%%%%%%@@@@@@@%@@@%=*+++++++++++**%*+*%#++++**+++++++++++%%+++*#++#@#:...................................................... +.........................................................................=@%%%%%%%%@#:%%*+++++++++++++++++++++++#+++++++++++++%%%#@@%%%%%%%%+*%@%+*+++++++++++*%%++*@%*+++#+++++++++++#*#+++#+++%@@=..................................................... +........................................................................=@%%%%%%%%%#:+##%#*++++++++++++++++*#++**+++++++++++++#%**@%%%%%%%%%*.:+@=+*++++++++++*%%#**#@@%###+++++++++++**##++#*++*%%@#-:........:......................................... +.......................................................................:@%%%%%%%%%@:.###@*@%*+++++++++++++*%*++**+++++++++++++#%*#@%%%%+#%%%#...==:*++++++++*#%@@@@%%%@%#*#*++++++++++**+#*+#*+++*%%%@@+:::::+#@+........................................ +.......................................................................#@%%%%%%%%@+.-%###.*%####********##%%+++**+++++++++++++*%+#%%%*+:=#%%%:.....-*+++++++#%%@@@@@@@@+-+#*++++++++++*#++#+**+++++#%%%%%@%%%**@-........................................ +......................................................................=@%%%%%%%%%#:.+#*%+.-%+++**########%%*+++**+++++++++++++*#+####-...-*%%:......-*+++++*%%##@@%+*@@*=%##++++++++++*#++*#**++++++#%%%%%%%%+*+......................................... +.....................................................................:@%%%%%%%%%@-.:%*#@:.:%*+++++++++++#%%++++**++++++++++++++#+#+++=...=##%:.......-*++++**#*+%%%:.*@%*###+++++++++++#+++#*#+++++++*%%%%%%%+%:......................................... +.....................................................................#@%%%%%%%%@+..:%*%#..:@*+++++++++++%#%++++#*++++++++++++++++#+==-..:+++*.........-**+++*#++#%%-.-@@%###+++++++++++%##*#%#++++**#%%%%#*%%+%:......................................... +....................................................................-@%%#+%%%%%#:..+#*@-...#*++++++++++*###++++#*++++++++++++++++#+========++..........:+*++#*++*%%=..%@%*##*+++++++++*#***#@%#%%%@%%%%%%%#%%*@:......................................... +....................................................................#@%%#*%%%%@-...####....+#++++++++++#*%*+++*#*++++++++++++++++#+==-:--==+=............-+*%#**#%%-..%@####*+++++++++*#+++*%*#@@%%%#%%%%%%%%+%:......................................... +...................................................................:@%%%%%%%%@#...:%*%+....+#+++++++***%*%*++**#*++++++++++++++++#*=:::::-=*:..............-**+=-+#:.:*%#*##*+++++++++**+++#*+#+-#@@%#%%%%%%%#%#......................................... +...................................................................+%#%%%%%%%@-...:%#%:....+#++++++*#*##*%*++#*##++++++++++++++++*#=--::::++...............-+=:.-+*..:-%#*##*+++++++++#+++++++#+..-#@%%%%%%%%#*@:........................................ +...................................................................+**###%%%#@:...+##+.....+%++**###=:-%%@%##%*##+++++++++++++++++*--===--+:...............=+=-=-*=...-#####*++++++++*#+++++++*+....:+%%@@@@@%%#......................................... +...................................................................+**###*#*##....+#%-.....-%**#+=-==:-%%%%%@#**#+++++++++++++++++*=..::---................+=---=*:...+#*#*#*++++++++**+++++++*+......##@*++++:.......................................... +...................................................................+@#+++@%%@+....*#%:.....:%#=:...:-+#%%%%%%%**#*+++++++++++++++++*:......................==:::=+....*#**##*++++++++#++++++++*#......:*%-............................................... +...................................................................--....::++:...:%#+......:@=.....:*%%%%%%%%%####+++++++++++++++++*=......................:=---+-....##***#*+++++++#*+++++++++@:......-%#:.............................................. +.................................................................................-%%-......:@+....:*%%%%%%%%%%%###*+++#*++++++++++++*=.......................::::....:%#**##+++++++#*++++++++++%:.......+@+.............................................. +.................................................................................+##.......:%#-..-*%%%%%%%%%%%%%###+++#%+++++++++++++*+-:.....:-.....................:%#**##++++++#%+++++++++++%-.......:##.............................................. +.................................................................................##+.......:%#=.-#%%%%%%%%%%%%%%%%%*++#@#++++++++++++++*#*+-...:=====:...............-%#**##++++*%##*++++++++++#+........-@:............................................. +................................................................................:%%:.......:%#-=#%%%%%%%%%%%%%%%#=+%*+#+=%*+++++++++++++*##-......:.:==--............+%**#%*++*%#-.:%*+++++++++*+.........++............................................. +................................................................................:#%:.......:%#+%%%%%%%%%%%%%%%%%@:.=%**+.+%#*++++++++*##*=:...........:::...........=%#*#%%%%%%#:...=#+++++++++*%:........+@:............................................ +................................................................................+%+........-%%%%%%%%%%%%%%%%%%%%@+..=%%#:#**#%#%##%%%+-:...........................-##***#######.....=#*++++++++%:........:@+............................................ +................................................................................+%+........+@%%%%%%%%%%%%%%%%%%%%@:..:#@*%+++++***%%%*:..........................:+%#*********#%-.....=%++++++++%+........:@@:........................................... +................................................................................+#:.......-#%%%%%%%%%%%%%%%%%%%%%@:...:+=#++++++++#+:#%+:.......................-#@%********##*##......##+++++++*#:.......:@%-........................................... +...............................................................................:%%:......-#%%%%%%%%%%%%%%%%%%%%%%@+.....+#++++++++*@#@#*#+:...................-**-+#******#%%%%#%-.....:#%*++++++%#:.......+#+........................................... +...............................................................................:%%:.....=@%%%%%%%%%%%%%%%%%%%%%%%%#.....+*+++++++++#@%***##+-::............:=*%+:.+#*****#%%%%%%%#=+:...:#%**++++#%#:......+#%:.......................................... +...............................................................................:%+.....=@%%%%%%%%%%%%%%%%%%%%%%%%%@:...=%++++++++++*%#+++*#+==+==--:::::-+#%#+:...+#*#**#%%%%%%%%+-#+.....=#***++*#%#:.....+%#-.......................................... +...............................................................................-%+....=@%%%%%%%%%%%%%%%%%%%%%%%%%%@:.-#%#+++++++++++%%***++#*---=*%@@%#%#++:......+#*%##%%%%%%%%%#-=%#-....-%#**++###%=....+%#+.......................................... +...............................................................................+%-...+@%%%%%%%%%%%%%%%%%%%%%%%%%%%@:+%#**+++++++++++#%###*++*#=+##*%@#::..........+##@%%%%%%%%%%%%#++*%#-...=%##**##*#%+-..+%##.......................................... +...............................................................................+%:..=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%#***+++++++++++*%@###*++*##***%%@#-..........+##@@%%%%%%%%%%%%%=::+%-...:#%#*##*##%%+-:%#%:......................................... +...............................................................................+%:.+@%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#%*****++++++++++++%%%###******#%@%%@@-.........-%#@@%%%%%%%%%%%%%#=..+#.....-#%#%#####%%#%##:......................................... +...............................................................................#%:=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%***#****+++**++++++++*%%#######%%##%%%%@+.........:%#@%%%%%%%%%%%%%%%#-.-@:......-+@%*****####%+:........................................ +..............................................................................:@%=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%****#***#+++##*++++++++#%**########%%%%%%@:.........#@%%%%%%%%%%%%%%%%%#:=@:........:##*******##%%+:...................................... +..............................................................................:@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****##**#+++%%**+++++++#%#++*######%%%%%%@:........:#%%%%%%%%%%%%%%%%%%%*-%:.........-%#********###%#-.................................... +..............................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******#**#++*%%****++*++*%#*+++***+*%%%%%%@+........+@%%%%%%%%%%%%%%%%%%%%+%:..........#%***********##%%+:................................. +..............................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%********##*#++##%#*****+*++#%*+++#%*+#%%%%%%%@=......:@@%%%%%%%%%%%%%%%%%%%%%@:..........:%#************###%#:............................... +.............................................................................:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********#*#++#*%%**********%***##*#*%%%%%%%%@@:.....:@%%%%%%%%%%%%%%%%%%%%%%@-...........=%#************#*#%@=.............................. +............................................................................:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%***********#*#++%*%%#*********#%###*+*%%%%%%%%%#%#:....+%*#%%%%%%%%%%%%%%%%%%%%%#:...........#%#**************##%#:............................ +...........................................................................:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%************###++%*%%%*********#%**+***%%%%%%%%%#*@#...=%#**#%%%%%%%%%%%%%%%%%%%%%+...........:##**************#*#%%+........................... +...........................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%**************##*+%#%%%%#********##*+*+*%%%%%%%%%%*#@=.=@#****#%%%%%%%%%%%%%%%%%%%%@:...........-%#*****************#%-.......................... +...........................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%***************#%*+%#%%%%%##*******##*++#%%%%%%%%%#**#@:@#******#%%%%%%%%%%%%%%%%%%%%+............+%#******************#*:........................ +...........................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%#****************##+%#%%%%%@%%%%%%%%%%%#*%%%%%%%%%%%***@@%********#%%%%%%%%%%%%%%%%%%%#:...........:#%*******************#%-....................... +............................................................................#@%%%%%%%%%%%%%%%%%%%%%%%#******************%*##@%%%%%%%%%%%%%##%%@%%%%%%%%%%#***#%**********%%%%%%%%%%%%%%%%%%%%+...........:%%#*******************#%-...................... +............................................................................:#@%%%%%%%%%%%%%%%%%%%%%*******************###%**##%%%%%%%%%%%%#*%@%%%%%%%%%%#***##***********%%%%%%%%%%%%%%%%%%%@:..........+%%@#********************#*..................... +.............................................................................:#@@%%%%%%%%%%%%%%%%%%********************#*#%*****###%@%#*#%#=-#%%%%%%%%%%%#***#*************%%%%%%%%%%%%%%%%%%%+.........:%#=#%#********************#*:................... +...............................................................................-+@@%%%%%%%%%%%%%%%*********************#**@********#+=++++=--=%%%%#%%%%%%#**#***************%%%%%%%%%%%%%%%%%%#........:#%*.:##*********************#%-.................. +.................................................................................:+#@@%%%%%%%%%%%#*********************####**%*****#=+%#%*=---=+**%***##%**#****************#%%%%%%%%%%%%%%%%%@:.......+@*:..-%#*********************#%-................. +....................................................................................:#@%%%%%%%%%***********************##***##*****#+=####=-=-=%%*##**#***##*****************#%%%%%%%%%%%%%%%%%-.....:+@#:....+%**********************#%-................ +.....................................................................................###%%%%%%%#***********************##***%******##+=++=-++==##*#**##***#*******************%%%%%%%%%%%%%%%%%#...:-#@#:.....-%#***********************#-............... +....................................................................................:%#*#%%%%%#************************##**##********###%++##*+=+##**##**#*********************%%%%%%%%%%%%%%%%@:.-@@@=........##******##***************#%-.............. +....................................................................................+%***#%%%#*************************##**#************#=*%*#%##****#***#*********************#%%%%%%%%%%%%%%%@-.-+-:.........-%******#%%#**************#%+............. +....................................................................................##****#%%**************************##*#*************#=+*=#*******#**#***********************#%%%%%%%%%%%%%%@+...............##******#%%##*************#@+............ +...................................................................................:%*******##*************************#*##*************#+=+##*******#*##************************%%%%%%%%%%%%%%@+...............+#*******#@%#**************#%-........... +...................................................................................+%********##**************************#**********#%%#*###********#**#*************************#%%%%%%%%%%%%%@+...............:%*******#@#@#*#************#@:.......... +...................................................................................##*******#*##************************#**********%@%%%%#*#%%%#****#**#**************************%%%%%%%%%%%%%@+...............:%#******#@=+%#************##%#.......... +..................................................................................:%***********##**********************##**********@#***##%@%%%@#***#******************************%%%%%%%%%%@@+:................##******#%:.+%#************##@-......... +..................................................................................+#************##********************##***********@#***#%@#***@#**##******************************#%%%%%%%%@@=..................+#******#%...-%#*************%#......... +..................................................................................##************###******************##************%@%%@@%#%##%@***%********************************#%%%%%%@+:...................+%******#%....+%*************#@:........ +.................................................................................:%************#**##*****************#**************#%%#***#%%%#***%*********************************#%%%@#:.....................+%******#@.....##************#@+........ +.................................................................................+#******##********##***************%*****************************##********************************#@%%@=.......................+%*****#%+.....:%#************%+........ +.................................................................................##*****###*********##*************##*****************************%********************************%@@@#-........................+%*****#@:......-%***********#%+........ +................................................................................:%#****#%##**********##***********##***************%@@%%**********@#******************************%#=+-..........................+#****#%-........##**********#%+........ +................................................................................-#*****##*************#%*********##***************%@%##%%#%@@@%***@@#***************************#@#:.............................##***#%-.........-%**********#%+........ +................................................................................+#****#%#**#***********#%*******##****************%%***#%@@###@#**%@@**************************%#-..............................-%#*#%@-...........##*********#%:........ +...............................................................................:%*****#@#***************#%#****##******************%@%%@@#%%**@%***@%%#**********************#%+:..............................:##*#%#:............-%*********#@......... +...............................................................................+#*****%@#***************##%%%%%#********************#%%#***%@@@#***#@=@#*******************#%#-................................+%#%@=...............##*******#%+......... +...............................................................................+#****#@%#***************#*#%#*************************###****##*****@:-##****************#%#-................................-#@%%+:................+#*******#@:......... +..............................................................................:%#****#*%#****************#%#***********************#%@@%%%#********#@:.-@%*************#%#:.................................#@@#-:..................-%******#%-.......... +..............................................................................:%*****%=%#***************#%#***********************%%%%%%%%%#********%+:.-#%#*********#%#-...................................++:......................%#****#%#........... +..............................................................................+%****#@:%#**************#%#***********************#%%%%%%%%%%*********%#-.:#@%*****#%%+:..............................................................+#*###%#............ +..............................................................................+#****##:%#**************%#*********#%*************%%%%%+*%%%%******%#**#%+:.-#@%#%%#+:................................................................+%**#%#-............ +.............................................................................:%#****%+:%#*************#%**********#%************#%%%%*=+%%%%******%@#***#%+::+##+:...................................................................+%##@#.............. +.............................................................................:%#***#%-.+#************#%***********%%************#@%%%#+#%%%%******#@@#****%%=:.......................................................................+%%%+............... +.............................................................................:%****#%:.-%#**********#%************%%*************%%%%%%%%%%#*******%%@%#***#%%=......................................................................+@@-................ +.............................................................................:%*#**#@:.:%#**********##************%%#************#%%%%%%%%%********%%%#%%%#**#%#-...................................................................-@#:................. +.............................................................................+%****#@:..###********##************#%%#*************#@@@@@%%%********#%%#####%###%%#:...............................................................+#@#................... +.............................................................................+#****#+...-%#*******##*************#%%%**************%%%%##*%*********%%#########%%%@+:.............................................................+@#.................... +.............................................................................+#****%+....##******##**************#%%%*************#*##**#+##********%@############%%@#-.................................................................................. +.............................................................................+#****%+....-@#*****##**************%%%%#************#*##**#*##********#@###############%%+:................................................................................ +.............................................................................+#****%+.....=%#***##***************%%%%%***********#*###***#*#*********%#################%%#:.............................................................................. +.............................................................................+%****#:......=%%###***************#%%%%%***********#*###***#*##********#%##################%%#-............................................................................ +.............................................................................+%****%:.......:+%%#***************#%%%%%#**********#*#*#*****###*******#%#####################%#-.......................................................................... +.............................................................................+%#***#:.........*#****************#%%%%%%***********##******#*##*******%%#######################%#+:....................................................................... +.............................................................................:%#***#-........-@*****************%%%%%%%*********#+###*****#*#********@%#########################%#+:..................................................................... +..............................................................................+%***%+.......:##*****************%%%%%%%%********#+%#*******#*#*#****#@%###########################%%+-................................................................... +..............................................................................-@#**#+.......+%******************%%%%%%%%#*********%#*******#*#%+#**#@@%#############################%%#:................................................................. +...............................................................................=@###@:.....:##******************%%%%%%%%%******#+#%*********#+%#+###*%%###############################%%+:............................................................... +................................................................................-#%#%-.....+%******************#%%%%%%%%%%#****#+#%*********#**%#+#-.=%##################################%+-............................................................. +..................................................................................-#@#:...:%*******************#%%%%%%%%%###***#+%%**********#=*%#=*++%####################################%*+:.......................................................... +....................................................................................:#%:..##*******************#%%%%%%#+-::=###*+#%*******##*+*=*%#=+%%######################################%%#+:....................................................... +......................................................................................:..=%********************%%%%#+-:.....:%@+*#%**##**+=:..=+=*%##%%%########################################%%+:..................................................... +........................................................................................:%*********************%%#=:.........*@+#%%**=-::......++=*%%#*%%%%#%%####################################%%#-................................................... +........................................................................................+#********************##=:...........=%+#%%**-.........:++*#*+*#++==+#%######################################%#-................................................. +.......................................................................................:%**********************:.............:%=#%%#*-...........=+*%======+++%#######################################%%#-............................................... +.......................................................................................-#*********************+..............:*=#%%#*=.............-#=--====+*%#########################################%%#-............................................. +.......................................................................................***********************+..............:*=#%%%*+.............=*======+=*%###########################################%%+:........................................... +......................................................................................-#**********************-...............*=#%%%*+.............=+====--=*%##############################################%#:.......................................... +......................................................................................************************:...............#=#%%%##-............=+--=++++*@###############################################%@=......................................... +.....................................................................................-#***********************:..............:#=*%%@##=............:*=--=+++#@################################################%%+:....................................... +.....................................................................................#***********************+................*=#%@@+++.............+%+====*%#%#################################################@#:...................................... +....................................................................................-#***********************+................##++#%=*=.............+++%%%%#-:#%#################################################%#:..................................... +....................................................................................##***********************+................=**====##**+=.........*:.::::...:+%#######################################%%%%%%%%%%@#+.................................... +...................................................................................-%************************=.................-%%*--===-=*=........%:..........=%######################################*+======+*##%+................................... +...................................................................................+#************************+.................:##*-----=*#=.......:%:...........=%#####################################---------=--+#................................... +..................................................................................:%*************************#:.................%**---=-==*-.......-+.............=%###################################%=------======%-.................................. +..................................................................................-%*************************%=.................**+-==**+=*:.......++..............=@##################################%*==--=**=====#+.................................. +..................................................................................+#*************************@#:................*@#-=*+++*=........*-...............+@###################################===+*###====*+.................................. +.................................................................................:%*************************#*%=................+*%=-=**++.........#:................#%##################################==**%-:#*===*+.................................. +.................................................................................:%*************************#++#:...............=+##=-=#+:........:%:................:#%################################%==#+%:.:%===+#.................................. +.................................................................................:%*************************#+:%=...............-+:#%*+-..........-%:.................:%%############%%%%%%%%###########%+=#*%-.:%===+@.................................. +.................................................................................:@*************************#+.+#:..............:#.+*:............-+...................=@######%%%@@@+++++++++@@%%%#####%*=#*%#:=%====%.................................. +.................................................................................:@#************************#+.:%=..............:%:++.............++....................#%##%@%@+-:::.........:::+#@@%%##*=+*#@@@*-==+%.................................. +..................................................................................+#************************#+..=#:.............:%:++.............*-....................:@@@#+::...................:+#@@%%==*#%%*--==+%.................................. +..................................................................................+%************************#+...#=..............#:++.............%:....................:@#:..........................:+@@*=-#*+---==+%++:............................... +..................................................................................-%************************#+...-#:.............#-++............-%:.....................-:.............................:#@%*%#+--===+#+*##-............................. +..................................................................................:@************************#+....+=.............#+++............=+.......................................................:-#@@*=====++..:=**-........................... +...................................................................................##************************+....++.............*+++............*+.........................................................+@%%#+===*-....:=#-.......................... +...................................................................................+#************************%:..:%-.............++++............#-.........................................................:@+::****=.......-**......................... +...................................................................................:%************************%:..:%:.............=@*+...........:%:..........................................................=%--=:::...:-:...=*#........................ +....................................................................................##***********************%:..+#..............=++*...........-%:...........................................................#*.........:==:.:*#+....................... +....................................................................................+%***********************%+..++..............+++*...........-#............................................................-#...........-#=:+%+....................... +....................................................................................:%***********************#+.:@+..............#:+*...........:%:............................................................*-...:....-=*#**+#........................ +.....................................................................................+#***********************%::%*-............-*.:*...........:#:............................................................:*-...=:..=%+..#%+........................ +.....................................................................................:************************%-:#-=:...........*+.:*............*:.............................................................-#=..:+*+*%....+-........................ +......................................................................................-#**********************%++#::=:.........:%:.:#:...........*+..............................................................:*#+==+##-.............................. +.......................................................................................*#*********##%%###*****##*#=.:==:.......++..:#:...........++................................................................:++++-................................ +.......................................................................................:%********#*--=+***######@#+-..:===----=%:..:%-...........=+...................................................................................................... +........................................................................................=#*********--===========**++-....::---*+...:@=...........:+...................................................................................................... +........................................................................................:%#*******#=============+*-++=::.....:%-....#=...........:%:..................................................................................................... +.........................................................................................=@#******#=======++=====*::=+++==---##.....++...........-%:..................................................................................................... +..........................................................................................=@#*****#+-====*%+*====+=.:-=+++++*%:.....+*..........:+#:..................................................................................................... +...........................................................................................=@%*****#====**@:-#===-*:...::---+#......+#-:......:-=:#:..................................................................................................... +............................................................................................=@%****#+===**@::%+==-=+........#-......+#-===---==-..#:..................................................................................................... +.............................................................................................-#%#**#*==-**%::%*==--+-......-#.......+#..::::::...:#:..................................................................................................... +..............................................................................................:+@%#*#====*#@@%*==---*-.....*-.......+#:........:=+%:..................................................................................................... +................................................................................................-#@%%+====+%@%===--==*:...-#........+%+=--:--==+++#:..................................................................................................... +..................................................................................................-#@%=====#%+-==--=-+=...*-........+%++++++++++-:#:..................................................................................................... +....................................................................................................:@*+===**+-=--=--*-..-*.........-#:-=====-::..#:..................................................................................................... +.....................................................................................................+@%%#*###======++:..*-.........-#:...........#:..................................................................................................... +......................................................................................................:-++@%#@#+*#**=...:*..........-#:..........:%:..................................................................................................... +..........................................................................................................++:=-.-+::....++:.........:#:..........:%:..................................................................................................... +..........................................................................................................++..=+===:...:*=@+........:#:..........:#...................................................................................................... +..........................................................................................................+#:-+:.:=+-::+@%*+........:#:..........-+...................................................................................................... +..........................................................................................................:@*::...-:=+**+-#+........:%:..........=+...................................................................................................... +..........................................................................................................-@#:.::.=:.-+=+#-.........:%:..........++...................................................................................................... +..........................................................................................................+@#:..-.:+:-%@#:..........:%:..........*:...................................................................................................... +..........................................................................................................:@#-..:-.-+-+@+:..........:%:..........#:...................................................................................................... +..........................................................................................................:@%=...=-.:+*%@%:.........:%-..........%:...................................................................................................... +...........................................................................................................+%#:...==..-+#-..........:%-.........:%:...................................................................................................... +...........................................................................................................:@%+....-***#+...........:@-.........-+....................................................................................................... +............................................................................................................+%%+:.:*%%%%+...........:@-.........=+....................................................................................................... +............................................................................................................:@%%%#%%%%%@+...........:@-.........*+....................................................................................................... +.............................................................................................................+@%%%%%%%%@:...........:@-........:%+....................................................................................................... +.............................................................................................................:#%%%%%%%%#.............#=........:@+....................................................................................................... +..............................................................................................................:#%%%%%%@+.............#=:::----:-@*....................................................................................................... +...............................................................................................................:#@%%@@#:............:@###%%%%%#*@@:...................................................................................................... +................................................................................................................:+@@#-..............:@%%%%%%%%%@%@:...................................................................................................... +..................................................................................................................::................:@%%%%%%%%%%%@:...................................................................................................... +....................................................................................................................................:@%%%%%%%%%%%@:...................................................................................................... +....................................................................................................................................+@%%%%%%%%%%%@:...................................................................................................... +....................................................................................................................................#@%%%%%%%%%%%@-...................................................................................................... +...................................................................................................................................:@%%%%%%%%%%%%@+...................................................................................................... +...................................................................................................................................:@%%%%%%%%%%%%@+...................................................................................................... +...................................................................................................................................:@%%%%%%%%%%%%@+...................................................................................................... +....................................................................................................................................=@%%%%%%%%%%@#:...................................................................................................... +.....................................................................................................................................=@@%%%%%%%@#:....................................................................................................... +......................................................................................................................................:+*@@@@@@=.........................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................................................................................................::::::::::::::::::........:+-.............................................................................................. +....................................................................................................................:::-++++++@@@@@@@@@@@@@@@@@@#++++::=%##=............................................................................................. +...............................................................................................................-+++#@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@@@@@%+==%:............................................................................................ +........................................................................................................:++#@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*===-*#-........................................................................................... +.....................................................................................................:+@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*=====-=#@#+:........................................................................................ +....................................................................................................:@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=====*+--=%%@@+:...................................................................................... +....................................................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=====-+##=-=*%%%%%+-.................................................................................... +....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*===-====###+-==#%%%%%@#-.................................................................................. +....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=====-==-+#*=+==-+%%%%%%%%@+:............................................................................... +....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+-========-*#+====--#%%%%%%%%@@+.............................................................................. +....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#===========-*#=====--+%%%%%%%%%%@#-............................................................................ +....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#============*#=-====--#%%%%%%%%%%%@#-.......................................................................... +....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#===========-*%*=-====-=%%%%%%%%%%%%%@=......................................................................... +....................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#===========-+*##*=-===-*%%%%%%%%%%%%%@#........................................................................ +....................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%===========+=-+##*====-=%%%%%%%%%%%%%%@+...#+.................................................................. +....................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======--+###+=*%%+===-=%%%%%%%%%%%%%%%@-.+@+.................................................................. +....................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=====+=-+#####=+#%#*=--+%%%%%%%%%%%%%%%@+-@#................................................................... +....................................................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-====*##%*=#*=+###+=--#%%%%%%%%%%%%%%%@#@@-................................................................... +.....................................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-=====#%%+=+==*#*+==-=%%%%%%%%%%%%%%%%@@@@+#%................................................................. +.....................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=====-+#%*===*#***==-+%%%%%%%%%%%%%%%@@@@@#+-................................................................. +.....................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=======+##+=*####+---*%%%%%%%%%%%%###@@@*..................................................................... +...................................................................................................:++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========*#**#%##*=--=#%%%%%%%%%%%#***#@@@..................................................................... +................................................................................................-+#@@@%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=========#####*+=-=-+%%%%%%*#%%%#****###%..................................................................... +...........................................................................................:+++@@@%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=-======-*%#+===-===#%%%%%****@%*****##%+..................................................................... +.......................................................................................+#@@@@@%%%%%%%%%%%%%%%@@%%%%%@@%%%%%%%%%%%%%%%%%%%%%+=======-*%*=-======%%%%%#****%%*+***##%:..................................................................... +......................................................................................#@@%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%@@%%%%%%%%%%%%%%%%%%*=======-*#+-=====-*%%%%%#****##=-+*%%#@+..................................................................... +......................................................................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%@@@@@@@@%#=======-*#========#%%%%%%**+=+*-:+###%@#..................................................................... +......................................................................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%========**-======+%%%%%%%#*=::--:=++**@+..................................................................... +.......................................................................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%%%%%%%%%%%@+=======++-======#@@@@%%%@#*-:::::-+*%#...................................................................... +........................................................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%@*=======+=-=====+%%%%@@@%%#*-:::-=*%%@:...................................................................... +........................................................................................-%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#===-=--=--=====*@%%%%@#***=::--:=**%@=...................................................................... +.......................................................................................:%*+++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***++++==+%@@@@@@#***+=+**=+***%@#-.................................................................... +.......................................................................................+#++++++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#******%%#***%%%%@=................................................................... +.......................................................................................%*++++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****%%%%%%%%%%%%%#-................................................................. +......................................................................................-#+++++++++**+*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+............................................................... +......................................................................................+*++++++++**++++++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#.............................................................. +......................................................................................#*++++++*#*++++++++++**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#.............................................................. +......................................................................................%++++++*#+++++++++++++++++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+............................................................... +......................................................................................%++++*#*+++++++++++++++++++++++**####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+-................................................................. +......................................................................................%+++***+++++++++++++++#*+++++++++++++###%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%##*##:.................................................................... +.....................................................................................:%**#*+++++++++++++++++#++++++++++++++#******###***********###*####%########%#####*****+++++++##.................................................................... +.............................................................................#@+++++#@%#*++++++++++++++++++**+++=++++++++++#*+++++*++*++++++++++++++++++#*+++++++#*+++++++++++++++++%+................................................................... +.............................................................................+#@%###**+++++++++++++++++++++#*++=-=+++++++++#*++++**-=*++++++++++++++++++#*++*******+++++++++==++++++*#-.................................................................. +...............................................................................#*++++++++++++++++++++++++++#++=--++=+++++++**++++*=:-*++++++++++++++++++#*++*+****#+++++++++--+++++++*%:................................................................. +...............................................................................+%++++++++++++++++++++++++++#++=--+=-=++++++**+++*+-:-*++++++++++++++++++**++++++++*++++++==+--=+++++++**................................................................. +...............................................................................:@*++++++++++++++++++++++++**++=-=++=+++++++**+++*-::-+++++++++++++++++++**++++++++**+++++-=+=--++*+++++#+................................................................ +................................................................................-%*+++++++++++++++++++++++**++===++++++++++**++*=::::=+++++++++++++*++++**++++++++**+++++-=+=--+*%*++++*%:............................................................... +.................................................................................-%+++++++++++++++++++++++**++++++++++++++++**#+:::::-+++++++++++++*++++*%*++++++++*++++++=++==++#%*++++##:.............................................................. +..................................................................................#%*+++++++++++++++++++++**+++++++++++++++*#%%+==--:-+++++++++++++**++++#*++++++++#+++++++++++++*%##++++%%-.............--.............................................. +................................................................................-#@%%#++++++++++++++*#*+++**++++++++++++*##%%@@@@@%#=-=*+++++++++++**++++*=*+++++++**+++++++++++++#**#+++*%%+...........-@+.............................................. +...............................................................................-@%%%%%##++++++++++*#%%++++**+++++++++++#%%%%@@@@@@@@%*-++++++++++++*##+++*-=*+++++++*+++++++++++++*#+*#*++%#%#..........#@-.............................................. +..............................................................................+@%%%%%#+*%##*****#%%+*#++++*+++++++++++*%%%%%@@@@@@@@@@%**++++++++++*#%*++*=-=*++++++*++++++++++++++#*+*#*+##*%*:.......-@@............................................... +.............................................................................#@%%%%%%++#*+*******#+.%*++++*+++++++++++*%%%%%%@@%%@@@@@@@#++++++++++*#%#++++-=+#*+*++*++++++++++++++##++*%**%###%-.....=%#@............................................... +...........................................................................-#%%%%%%%#+*#+++++++++%--#+++++*++++++++++++%%#**#%%%%%%%%%%@@%*+++++++++*#***#%%@@@@%#++*++++++++++++++*%+++%%*@%%##%-..-#@%#@............................................... +..........................................................................-@%%%%#%%%*+#+++++++++*%:#*+++++*++++++++++++##++**#%%%%%%%#:=%@*+++++++++*##@%%%@@@@@@%*+**+++++++++++++*%*++*%%@%%%%#%@@@%%%#@............................................... +.........................................................................-@%%%%%%%@#+**+++++++++%+.%++++++**+++++++++++*#++#*#%%**%%%#:.:#*+++++++++*#@@@%%@@@@@@@##%#+++++++++++++###+++%@@%%%%%%#%%%#%*%-.............................................. +........................................................................-%%%%%%#%@%+*#+++++++++*%:-#++++++**+++++++++++*#++#+*#*:=%%%%:...=++++++++++#@@@%**%@-+@@#+%#+++++++++++++#*#+++#@%%%%%%%%%%%%%@@-.............................................. +.......................................................................+@%%%%%%%%*#+#++++++++++#+.+#+++++++*++++++++++++#++#++=...-%%%:....=++++++++*##@%%#*#@-.=@@###+++++++++++++#+*#+++%@%%%%%%%%%%%@@-............................................... +......................................................................#@%%%%%%%@=%+**+++++++++*%:.#*++++++**++++++++++++++*#+++...+%%#:....:++++++++++*%%%#%#@*-:*@%*#*+++++++++++**++#*++*#@@%%%%%%%%@#-................................................ +.....................................................................#@%%%%%%%@=+**#++++++++++#+..%++++++**#++++++++++++++*#+++:.:##%*......:+++++++++##%+=#%@**-+##*#*+++++++++++#+++*#*+*%:+@@@@@@@#@#................................................. +....................................................................#@%%%%%%%%--#+#*+++++++++*%:..%+++++***#++++++++++++++*#++*+=-++*=.......:+*++++++#**::+%#..:++#*#*++++++++++*#++++*#%%#+...:++-..-@#................................................ +...................................................................=@%%%%%%%@+.+**%++++++++++#+...#++++****#+++++++++++++++#+++*====+-........:=**+++*#*#*=*#+..::*###*++++++++++###*#####++#:.........+@#............................................... +..................................................................=@%%%%%%%%#.-#+%#+++++++++*@-...#+++#****#*++++++++++++++#+++*-==++...........:-++**%###*+*-....*#*#*+++++++++#*******++++**..........#@+.............................................. +.................................................................-@%%%%%%%%@-.**#%*+++++++++%@...:#++#@#***#*+++++++++++++++**+*=-=*-................:#+++=+*:...:#*###++++++++**++++++++++++#-.........-%%-............................................. +.................................................................#%%%%%%%%@+.+#*%#+++++++++#@+..-#%**#@#***##++++++++++++++++**#*===.................:*---=++....-#**##+++++++**++++++++++++++%-.........+%%-............................................ +................................................................-@%%%%%%%%@:-%+%#*++++++++*%@:.:%*+*%@%%****#+++++++++++++++++++*=:...................+-::-#-:...=#**#*++++++#*+++++++++++++++*#..........#%%:........................................... +................................................................#%%%%#%%%@+.+#*@%+++++++++#%@++#%:..-+%@#***#*++++++++++++++++++++:...................----++-:...+#**%*++++*%@%*+++++++++++++++#+.........-%#*........................................... +...............................................................:@%%%%%%%@@::%**#*++++++++##%@%##*-...:*@%#**##++++*++++++++++++++*+:::..................:::......*#**%+++*#%+:-##*++++++++++++++%-.........+%#+.......................................... +...............................................................:%*%%%%#*%+.+##=%++++++++###%%-:::=-...**#%***#*+++#%*+++++++++++++**#+..........................-%#*#%++#%#:....-*#*++++++++++++*%:........:%#%-......................................... +...............................................................+%=#%%###%--%##*#+++++++*##*%=....:::..##=#%#*##+++*@%#*+++++++++++*#+:....-::.::................+%##%#####@.......-*#*+++++++++++##.........+%#*......................................... +...............................................................+@%@#+++##.+*%=%+++++++*##*##:....:-:-+%@@*#%####+++#%%##*++++++***+-......-===---:-............:###%%%##*#%:........-*#*++++++++++##........:%##+........................................ +...............................................................-+::......-%#+-#++++++*##**#+.....:-+#%%%%@:+%%%%#++*@#+**#######-:..............:::...........:*#**###****%+..........-+***++++++++##........-#*%:....................................... +.........................................................................##*.+*++++++*##**#*....:+#%%%%%%@#....:+#*+##+++++++++*:............................:*%##********##..............=*#*++++++##-.......%*#+....................................... +........................................................................:%%-:%+++++**##***#*..:=#%%%%%%%%%@=.....:+%%%#++++++++#*:..........................=##%#**********%-...............-+*%%#***#%#:.....+##%....................................... +........................................................................#%+.+#++++**##****#*.-*%%%%%%%%%%%%@-......:%###+++++++*%#-.......................-*###%#**********##..................:#%###**##%%++:+###-...................................... +.......................................................................-%%:.#*+++**##*****#*+%%%%%%%%%%%%%%%#.......%+++++++++++%%*=:...................-*##***%#**********#%:...-++-............#%#*##***##%%@%###...................................... +.......................................................................#%+..%+++***##*****#%%%%%%%%%%%%%%%%%@-.....-#+++++++++++#*+**+:..............:-*##****#%##**********%#+#%#*##.............-%##*********#%%@+:.................................... +......................................................................-@%:.-#++**###****##%%%%%%%%%%%%%%%%%%%#.....+#+++++++++++**+**##=-::....:::-=*%%#****##@@#**********#%@%%%-:=##-............:#%#***********#%%+-.................................. +......................................................................#@+..+*+***##*****%%%%%%%%%%%%%%%%%%%%%%-...-@#++++++++++++*****#*===+##%%%%#+=#%***##%@++%#********#%%%%%%#---=#+-............-%#***********####%+-............................... +.....................................................................-@@:..%****##****#%%%%%%%%%%%%%%%%%%%%%%%#..+%%*++++++++++++**+****#--###@@=:..+@###%@#-..:%#******##%%%%%%%%#=:..-#-............:#%*************###%+-............................. +.....................................................................#@=..-%***##****#%%%%%%%%%%%%%%%%%%%%%%%%@+#%##*++*+++++++++***#**+*##*+*%%@#:.+@@@#+-.....@#*****#%%%%%%%%%%%#:...-%..............#%#**************###+-........................... +....................................................................:@@...+%**##****#%%%%%%%%%%%%%%%%%%%%%%%%%%@#**#*++**+++++++++#%##**+##**#%%%%@+:...........+#****#%%%%%%%%%%%%%*:..:%...............-%#****************##%-......................... +....................................................................+@=...##*###***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%***#*++***++++++++*%%##%#**##%%%%%%@#...........-%**#%%%%%%%%%%%%%%%%+..=#................-##*****************##%+:...................... +...................................................................:@#....@#####**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***#*+*%***+++++++***##%###%%#@%%%%%@+...........%##%%%%%%%%%%%%%%%%%%=:#-..................##****************#*#%%+:.................... +...................................................................+@+...-%##**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#*+#%#***+++++++*++**######@%%%%%%@+..........+%%%%%%%%%%%%%%%%%%%%#-#...................:@#*******************#%%+................... +...................................................................+@:...+%#***##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#*+#%#****++*+++**+++****+#%%%%%%%@@#:.......-#@%%%%%%%%%%%%%%%%%%%%#%...................#@##********************#%#-................. +...................................................................#@....###***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#*+%##*******+++**++*#%#**%%%%%%%%%#%@+.....-@@%%%%%%%%%%%%%%%%%%%%%%%..................#@#*###********************#%#-............... +..................................................................:@#....@#***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***#*#*%#**##****++#*###*##*%%%%%%%%%#*#@#-...+@%%%%%%%%%%%%%%%%%%%%%%%%-...............-#%#**%@%#******************####%+.............. +..................................................................+@+...:%##*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#***#*#*##****#******%**+**#%%%%%%%%%%%***%@#=+@%%%%%%%%%%%%%%%%%%%%%%%%%#.............:+@%#*#%@=+%#*********************#%#-............ +..................................................................+@+...+%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#***#*#**%#**********%#***+*%%%%%%%%%%%****#@@@#**%%%%%%%%%%%%%%%%%%%%%%%%+........+++#@@%##%@#:..-%#*********************##%#-.......... +..................................................................+%+...+%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****#**###**%%##********%%*++*#%%%%%%%%%%%#****%%*****%%%%%%%%%%%%%%%%%%%%%%%@........#@@@@@%@#+-.....+##**********************##%-......... +.................................................................:%%#...+%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*****#***%%**%%%%%%%%%####%%#**%%%%%%%%%%%%%**##********%%%%%%%%%%%%%%%%%%%%%%%-........-++++:..........-%***********************##%#-....... +.................................................................:%#@...###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#******#***#%**%%%@@%%##%%#%%@%##%%%%%%%%%%%%%#%#*********#%%%%%%%%%%%%%%%%%%%%%%#.........................#%*#**********************##%-...... +.................................................................:%#%-..@#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#********#***#**####*****#==*@%=-+%%#**%%%%%%%%%************#%%%%%%%%%%%%%%%%%%%%%%-.........................+#*************************#%-..... +.................................................................:%#%#..@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*********#**************#+=#%%#*--=*#*=%##%%@%@#*************%%%%%%%%%%%%%%%%%%%%%%+..........................####***##******************##-.... +..................................................................+##%-.@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********#**************#*=*##==---*%%+*#***%###**************%%%%%%%%%%%%%%%%%%%%%#...........................*#****#%%#******************#+... +..................................................................+%*#@:@###%%%%%%%%%%%%%%%%%%%%%%%%%%#***********#***************##+==+=-===++=##***%*****************#%%%%%%%%%%%%%%%%%%%%@:..........................-%*****#%@%#****************#%+.. +..................................................................:##*%#@#**%%%%%%%%%%%%%%%%%%%%%%%%%#*************#******#********#%%%#=##+%#*##****#******************#%%%%%%%%%%%%%%%%%%%@+...........................#%*****#+-%#*****************%-. +...................................................................+@##%@#***%%%%%%%%%%%%%%%%%%%%%%%#**************#******#***********#=+##+###******#*******************%%%%%%%%%%%%%%%%%%%%+...........................:%#****##.:+%#***************#%. +....................................................................#@##%#***#%%%%%%%%%%%%%%%%%%%%%#***************#******#***********#==#%=#********%*******************#%%%%%%%%%%%%%%%%%%%#............................#%****#@...-##***************%= +.....................................................................+@%##*****%%%%%%%%%%%%%%%%%%%#****************#******#***********#*===+#********%********************%%%%%%%%%%%%%%%%%%%@............................:%#***#%.....*##*************## +......................................................................:#%#*****#%%%%%%%%%%%%%%%%%******************##*****#********#%#*#%##%*********%*********************%%%%%%%%%%%%%%%%%%@.............................##***#+......-##************#@ +.......................................................................###*******%%%%%%%%%%%%%%#********************#*****#*******#@%%%#**#**********#*********************#%%%%%%%%%%%%%%%%%@.............................+%***#+.......##*************% +.......................................................................@#*********#%%%%%%%%%%%#*********************%*****#********@#*#%#*%@@@@#****##**********************%%%%%%%%%%%%%%%%%@.............................+%#**#+........-#***********#% +.......................................................................@#**********#%%%%%%%%%#**********************#**************%%**#%%@##*%%****##**********************#%%%%%%%%%%%%%%%%@.............................:%#**%+.........+##*********#@ +.......................................................................#%***********#%%%%%%#************************#%**************%%%%@@@%%%@#****#************************%%%%%%%%%%%%%%%@@..............................%#*#%:..........*#*********#@ +.......................................................................+%************#%%%@#**************************#**##***********#%##*#%%%#*****#************************#%%%%%%%%%%%%%@@-..............................%#*##...........-%#********#* +.......................................................................+%*************#%%#%*****************************%***************************%************************#%%%%%%%%%%%%@#:..............................-%##%+............-%#******#%= +.......................................................................-%#*************##*##***************************%#*********%%%#******#*******#*************************%%%%%%%%%%@@=................................+%###..............+%#*****#%. +........................................................................%#*********##****#*##*************************##*********#@##@#**#%@@@#****##*************************#%%%%%%%@@+:.................................###%-..............:%#****#%+. +........................................................................##*********%%#******##************************%**********#%**#%##@%#*#@****##**************************%%%%%@@+:..................................+@#%#................+%#***#%:. +........................................................................+%********#@@#*******##**********************##***********%%%%@@@@#**#@****#***************************#%%%@#-....................................#%%#.................:%#**#%-.. +........................................................................:%#*******%#+%*******###********************##*************#%%%##%%%%@%****%***************************%@@#-.....................................#@%#...................@#**%#... +.........................................................................##******#%::%#********##******************##*********************#%%%*****%*************************#%++:......................................#@@=....................@##%#.... +.........................................................................-%#*****#+..#%******#**##*****************#*******************************@#**********************#%+:.........................................##:....................-%#%%:.... +..........................................................................+#*****%+..:%#*********##***************#********************************@@#*******************#%+:.................................................................-#%%#:..... +..........................................................................-%#***#%:...#%**********##*************%*******************%%@%%%#*******%%%*****************#%+:...................................................................#@@=....... +...........................................................................##***##.....##**********##***********%*******************%%%%%%%%#******##*%**************%%+:.....................................................................-+:........ +...........................................................................-%#**#+.....:%#**********##*********%*******************%%%%%%%%%@*******@*#%**********#%#-................................................................................... +............................................................................+%#*#+......+%#**********##*******%#******************#%%%%#+*%%%#******%@:#@#*****#%%+-..................................................................................... +.............................................................................##*#+.......#@#*********##%****#%#*******************#%%%%+=+%%%%*****#@=..#@%%%%@#-........................................................................................ +.............................................................................-%##+........#%##*******###%#%%%*********************#%%%%#*#%%%%******%#...-+++-........................................................................................... +..............................................................................-%#%+......-+=%%#******####%@#*******#***************%%%%%%%%%@#*******##.................................................................................................. +...............................................................................-%%%%+++++@@.:+%%##***###%%*********%***************#%%%%%%%@##*****%%*##-................................................................................................ +................................................................................-#%%%@@@@+:...:#@%#######**********@#****************%%@%%%#**#****#@%##%-............................................................................................... +..................................................................................-+#@++:.......:+#@@%#***********#%#****************#*%#****#*#****%%%#*#+.............................................................................................. +..................................................................................................+@%*************%%%***************#*##******#*#***%##%#*#*-............................................................................................ +................................................................................................:#%#**************%%%***************#*##*******#+***%%##%%*#%-........................................................................................... +...............................................................................................-%%***************#%%%#**************#*##*********+*##%####%###*:......................................................................................... +..............................................................................................+%#****************%%%%%**************#*##*********#+*%%######%#%%-........................................................................................ +.............................................................................................#%#*****************%%%%%**************##%***********#+*%%########%@-....................................................................................... +............................................................................................#%******************#%%%%%#**************##************#++%%########%%-...................................................................................... +..........................................................................................:#%*******************%%%%%%%************#*##**************=*%%%########%#..................................................................................... +.........................................................................................:%#*******************#%%%%%%%************#*##**************#=*%%%########%#.................................................................................... +.........................................................................................##********************%%%%%%%%#***********#*#*#*************@*=*%##########%#:.................................................................................. +........................................................................................##********************#%%%%%%%%%*************#*#*************%#*=*%*+#########%-................................................................................. +.......................................................................................-#*********************%%%%%%%%%%#************#*#*************%##+=##*=#########%-................................................................................ +......................................................................................+#*********************#%%%%%%%%%%%************#+*************#%###=+#%*+%########%-............................................................................... +.....................................................................................-#**********************%%%%%%%%%%%%#***********%*+#***********%%####=*%%%*#########%+.............................................................................. +....................................................................................-#**********************#%%%%%%%%%%%%%***********##+#***********@%####%*%%@=*#########%+............................................................................. +...................................................................................-%***********************%%%%%%%%%%%%%%%********#*%#=**********#@@%####%%++*=+%#########%+............................................................................ +...................................................................................*#**********************#%%%%%%##*+=---=##******#+#%*+#******#%@%%%######%#=-=+#%########%#........................................................................... +..................................................................................*#***********************%%%##+-:........-@%#****#*#%#+#****##+--=*%#######%*=--=+#%#######%#.......................................................................... +.................................................................................*#***********************#%#+-............:%+@%%#****%%+*%##+-:....:########%*------+%#######%#......................................................................... +................................................................................-#*************************=:...............#:.=@*****#%#+*-.........########%*=--====%########%*........................................................................ +...............................................................................+%*************************:.................*+..#=..=+#%#*+#-........*#######%*==-=*=*%#########%*....................................................................... +..............................................................................-%*************************+..................++..++..-+*%%%#**........##########==+-++*%##########%*-..................................................................... +.............................................................................:%**************************:..................=+..-*...+=*%*#=*:.......#%#######%=+#==#%############%%-.................................................................... +.............................................................................##*************************+...................-+...*...-++#*#+**=......%#%######%++%##%###############%-................................................................... +............................................................................+%*************************#:...................:+...#:...=#+=====*=.....*-@%#####%##%###################%-.................................................................. +...........................................................................-%*************************#%-....................%...#:....=+*#====+-....=.-%#############################*-................................................................. +...........................................................................##*************************%*+....................#...+-......:*=====*-...=..+%#############################%-................................................................ +..........................................................................##**************************#:#:...................*...+-.......+=--==+*-.:=...#%#############################%-............................................................... +.........................................................................-%**************************%-.+-...................*-..+=.......+===--=+#-:=...-%##############################%-.............................................................. +........................................................................:%#*************************##..:*...................*+..+*.......-+-*+---*-:=....-%##############################%-............................................................. +........................................................................##**************************%-...*:..................=+..+*........+==+#+*=.:+.....#%##############################%-............................................................ +.......................................................................:%**************************##....-+..................-+..-#:.......:*++##=..:+.....-%###############################@-........................................................... +.......................................................................##**************************%-.....+:.................:%...#:........:=+-:...-+......#%###############################%:.......................................................... +......................................................................-%**************************##......-=..................#...%:................=+......-@###############################%#.......................................................... +.....................................................................:%#**************************%-.......=..................*:..%-................=+.......#%###############################%#......................................................... +.....................................................................+%**************************#+........--.................++..*-................+-.......:%################################%-........................................................ +....................................................................:%#**************************%:.........=.................=+..+=................+.........#%################################%-....................................................... +....................................................................+%**************************##..........--................-+..+=................*.........-@################################%#....................................................... +...................................................................:%#**************************%-...........+.................*..++................#..........#%################################%+...................................................... +...................................................................+%**************************#@............*-................#..-*...............:%..........:@#################################%:..................................................... +...................................................................+#**************************%+............-*................*-..*...............:#...........#%################################%#..................................................... +...................................................................+#**************************%:.............=-...............++..*...............-+...........-@#####################%##%%%%%%%%%@=.................................................... +...................................................................+#*************************%+..............:*:..............-+..#:..............++............#%####################%=====++++*#%%-................................................... +...................................................................+#*************************%:...............++..............:%..#:..............*-............:@####################%+---------==+#-.................................................. +...................................................................+%************************#+.................*=..............#-.%:..............#..............@%%####################-------=====+#.................................................. +...................................................................+%************************%:.................-#:.............*+.%-.............:%..............-@@@@%%%##############%=-----=*+====#-................................................. +...................................................................-@***********************##...................+*:............++.%-.............-%..................-++@@@@@%%%%%#######-===+#@%+===+%................................................. +....................................................................##**********************%+...................#+:............++.+=.............=+.......................:++++@@@@%%###%===+*%++#====#-................................................ +....................................................................+%**********************%-..................:%-............:*+.+=.............++...............................-+#@%%%*==+*%+:%====+%:............................................... +....................................................................:%**********#*#********##...................+#:............:#:.++............:++..................................:+@@%==+*##:%=====%+............................................... +.....................................................................##********#*=*#*******#+...................%=.............:=..++............:++....................................:+@+==**@@#=====+#............................................... +.....................................................................+%********#===+##*****%+..................-#:.............=+..++............:+.......................................+#==-=##=-=====#:.............................................. +.....................................................................:%#*******#=---=*#****%:..................+#:.............*:..+*............:*:.......................................+%*==**=-====-*+.............................................. +......................................................................+%******#+=---==+#***%..................:%++:...........:*...+#:............++.........................................-%###======-++.............................................. +......................................................................:@#*****#==---====*##@..................+#:-+-..........++...-#:............++..........................................=@#%*======++.............................................. +.......................................................................-%******=---=---=-+%#..................+*:.:+=:........#:....#:............=+...........................................*=-***+=-==%.............................................. +........................................................................##***#+---=+#*=---+@+................:%*=..:-+=:.....-#.....%:............=+...........................................-#-..:=**+*@.............................................. +........................................................................-%***#==-=*%+#*==-=#+................+#++=:.::-++****%-.....%-............=+............................................+#:...:=**%-............................................. +.........................................................................+%**#===*#+.:#====%+................#=-++=-:.....:::#......#-...........:*+............................................+*:......:=%#............................................ +..........................................................................##*#===*%+..%====%:................#:.:+*+=::.....-+......++.........:=+++............................................+*.........-##........................................... +..........................................................................:%##===*%+.-#====@.................+...:=++++=-:::*-......+%+=-:::-=++=::+............................................+*::.......:-%........................................... +...........................................................................-@#===**@+#*-=-+#................-=.....:=+++++++%.......+*:-=+++=-:::.-+............................................:%--...:.=-+-#........................................... +............................................................................=%+=-+#%@#=---*+................=-.......::-==+*+.......-*.........::=++.............................................#+=:..:--+=#-........................................... +.............................................................................#%+=+***+=---#+................-:.............+-........%=-:::::-=+++*+.............................................:#==...-=+#%............................................ +..............................................................................+%+*+#===---%+................+..............#.........%**++++++++=--+..............................................-*+-...:+@#............................................ +...............................................................................-%%+#==---=%#-...............=.............:=.........%========-:..:+...............................................-##-..:*+............................................. +................................................................................-#%#==---=*+%-.............+-.............=+.........*:...........:=................................................-#%*+#%:............................................. +..................................................................................#@*=---=+:+#.............=-.............*-.........+-............=..................................................=@@+:.............................................. +...................................................................................#%#+--=*..+#:...........=:............:*..........+=...........:=..................................................................................................... +...................................................................................:%#****=...+%:..........*.............=+..........++...........:=..................................................................................................... +....................................................................................:#+::.....-=#++++......*.............*:..........++...........:+..................................................................................................... +.....................................................................................+=.......-=:=*@@.....:+............:#...........-*...........:+..................................................................................................... +.....................................................................................++........-+++%=.....+*............-+............*...........:+..................................................................................................... +.....................................................................................-#::.......:=@#......+%:...........*+............*:..........:+..................................................................................................... +......................................................................................#+:-:--...:##.......+%+..........:#:............*:..........-+..................................................................................................... +.......................................................................................*+-=-++::##........+%%=...-=+*+==+.............*:..........=+..................................................................................................... +........................................................................................##=*##%%#.........+%%%=:*%%%%%%@+.............*:..........++..................................................................................................... +.........................................................................................-#@@@#:..........+%%%%#%%%%%%%%@.............#:..........++..................................................................................................... +..........................................................................................................-@%%%%%%%%%%%%@-............#:..........*:..................................................................................................... +...........................................................................................................#%%%%%%%%%%%%@#............#:..........#...................................................................................................... +...........................................................................................................:%%%%%%%%%%%%%@............#:..........#...................................................................................................... +............................................................................................................+@%%%%%%%%%%%@............#:.........:%...................................................................................................... +.............................................................................................................#%%%%%%%%%%%%............#:.........:%...................................................................................................... +..............................................................................................................#%%%%%%%%%%@............#:::--=-:..:@-..................................................................................................... +...............................................................................................................#%%%%%%%%%@...........-%=#%%%%%#*--@+..................................................................................................... +................................................................................................................#@%%%%%%@#...........+@@%%%%%%%%##@+..................................................................................................... +.................................................................................................................+@%%%%@#............+@%%%%%%%%%%%@+..................................................................................................... +..................................................................................................................-#@%@#-............@%%%%%%%%%%%%@+..................................................................................................... +....................................................................................................................+:...............@%%%%%%%%%%%%@+..................................................................................................... +.....................................................................................................................................@%%%%%%%%%%%%@+..................................................................................................... +.....................................................................................................................................#@%%%%%%%%%%%@-..................................................................................................... +.....................................................................................................................................-@@%%%%%%%%%%+...................................................................................................... +......................................................................................................................................:+#@%%%%%@#-....................................................................................................... +.........................................................................................................................................+++%@#+......................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..................................................................................................................................-+..................................................................................................................... +.................................................................................................................................-%*+-................................................................................................................... +............................................................................................................................:+-:##+==#-.................................................................................................................. +.....................................................................................................................-+++@@@@@@@#===-=%-................................................................................................................. +................................................................................................................-++@@@@@%%%%%%%*------+%@++:............................................................................................................. +............................................................................................................-+#@@@%%%%%%%%%%%%*=-------+%%@@#+:.......................................................................................................... +.......................................................................................................-++@@%%%%%%%%%%%%%%%%%+==--------+#%%%@@#-........................................................................................................ +...................................................................................................-++@@@%%%%%%%%%%%%%%%%%%%+==--=+*=----+%%%%%@@#-...................................................................................................... +...............................................................................................-+#@@@%%%%%%%%%%%%%%%%%%%%%#=-===-=*#*====-*%%%%%%%@#-.................................................................................................... +...........................................................................................:+#@@%%%%%%%%%%%%%%%%%%%%%%%%%*======-+###+-====*%%%%%%%%@#-.................................................................................................. +.........................................................................................-+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%*========+#+========#%%%%%%%%%@+................................................................................................. +......................................................................................-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=========*#=-======-=#%%%%%%%%%@#-............................................................................................... +...................................................................................:+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+==========*#========--+%%%%%%%%%%%@#:............................................................................................. +.................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-==========*#+========-=*%%%%%%%%%%%%@=............................................................................................ +..............................................................................:+#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+============*%*==--=======#%%%%%%%%%%%%@#-.......................................................................................... +.............................................................................=@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+============-+####+=======-=%%%%%%%%%%%%%%@+:........................................................................................ +............................................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#============---=+#%#*=======-+%%%%%%%%%%%%%%@#:.........--............................................................................ +............................................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%===========-=**+=+#%#+======-=%%%%%%%%%%%%%%%%@=.......=@-............................................................................ +............................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+===========*%%%*=*%%##=====-=%%%%%%%%%%%%%%%%%%#:....=@#............................................................................. +............................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=========-*%#*#*=+%#*+=====-*%%%%%%%%%%%%%%%%%%%%+:.:@@:............................................................................. +............................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======+**##+=*+=*#*=======-*%%%%%%%%%%%%%%%%%%%%%#:#@=.-+-.......................................................................... +............................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=======-+%%#+===+#*+#+======%%%%%%%%%%%%%%%%%%%%%%%@@=+#@@+.......................................................................... +............................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%========-+#%#===#####=======%%%%%%%%%%%%%#**#%%%%%%@@@@+-:........................................................................... +.............................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======-=+#%*=*#%##+-====-*%%%%%%%%%%%%#****%%%%%@@@#:.............................................................................. +...............................................................:-------------*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-========-+##*###*+======-#%%%%%%%%%%%%*****#%%%@@%@*------------------------------------------------------------------------------- +...............................................................-+++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#==========-+#%#*==-=====-=%%%%%%***#%%%*****#%%@@%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%============#%*---======-+%%%%%#*****@%*=+**#%@@@%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+===========##+-========-#%%%%%******%%+--+*%@@@#*%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*===========*#===========%%%%%%***+==+*-:-+#%@@@**%@@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#==========-*#==========+%%%%%%#**+---=-:=*##*#%****#%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%@%%%%==========-+*==========#%%%%%%%#**=-:--:--=+**#%****@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++@%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@+-=========+*--======-=%@@@@@@@%%#+-:::---=+***%**%@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++#@%%%@@@@@@@@@@@@@%@%%%%%%%%%%%%%%%%%%%#===========+-=======-+%@@%%@#****-::---=*#***##**#@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@%%=====================*%%%%@@****+--=+-:-*###%#****##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++#%@@@%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@*-----======--=======%%%%%@@*****++**=--+**%@*#%##%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#==+++==============*@@@@@@@#*****#%**++***%@%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++*%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%#########%%%%%%%%%%%%%%###%%%*******%%%%%%%@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++*%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****#%%%%%%%%@@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%@@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................=#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++##@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++###@@%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++#%++*#**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++@*++*#++++++**######%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@###*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++##++*#++++++++++++++*****########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######***#%*+#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++@*++#*++++++++++++++++++++++++++*#*******###*###################%##%###*******++++++++++++#*+*%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++*%++#*++++++++++++++++++++++++++++#++++++++#==*+++++++++++++++++*%*++++***++++*+++++++++++++#*+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++##+#*++++++++++++**+++++++++++++++#+++++++*+--*+++++++++++++++++*%#++*******++*+++++++++++++*#+#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++@**#+++++++++++++#*+++++++++++++++#+++++++*-:-*++++++++++++++++++##*++++++++++**++++++++=-=++#**@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++%@*#++++++++++++++#+++==+++++++++++#++++++*=:::+*+++++++++++++++++*+*++++++++++*#+++++==+=--+++#+%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++#@@#*++++++++++++++#++=--+++++++++++#+++++*+-:::-*+++++++++++++++++*+=#++++++++++#+++++-=+=-=+++#*#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++*@%%++++++++++++++++#++=--++=++++++++#+#*+**==--:-*++++++++++++++++++*-=#+++++++++#++++++++=--++++#**%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++%@%*++++++++++++++++#++=--+=-++++++++**%%#@@%@%*+==*++++++++++++*++++#=-=**+++++++**++++++++==++++#*%*#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++#@%*++++++++++++++++**++=-=+==+++++++*%%%@@@@@@@@@@%%*+++++++++++**+++**---+#**++++#*++++++++++++++*#@%#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++@%*+++++++++++++++++**+++==+++++++*#%%%%@@@@@@@@@@@@@@%*+++++++++**#*++#=--=+#@%%%%#*+++++++++++++++#@#%#%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++%%+++++++++++++++++++**+++++++++++*%%%%@@@@@@@@@@@@%@@@@@*+++++++++*#%*+*##%@@@@@@@*-*+++++++++++++++*@%*%#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++%#++++++++++++++++++++**+++++++++++*%%%%%#=%%%%%%%%%%=+%@@*+++++++++*#%%#%%@@@@@@@@@%=*++++++++++++++++##%*%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+#%*+++++++++++++++++++++**++++++++++++#%%#*-+%%%%%%%%%%=..=@*++++++++++*%#@@@%@@@@%#@@@%#++++++++++++++++**#@#%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................................:=@#+++++++++++++++++++++++#*++++++++++++*%#++=#%%%%#%%%%%=...=#++++++++++**%@%%@@@@%%+*@@@%++++++++++++*#++**+*%@%@%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...........................................................:-+%#*++++++++++++++++++++++++*++++++++++++++%#++*%%%%#-+%%%%=....+*+++++++++++#%-*%%%%%%#:+@@@*+++++++++++#@*++#+++*#@@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +........................................................-++%%#*++++++++++++++++++++++++++*++++++++++++++##++#%%##+.-#%%%-.....+*+++++++++++#-#%%%%%%%:.*@@#+++++++++++*%#++#*+++#@@%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +........................................................-@@#+++++++++++++++++++++++++++++*++++++++++++++*#++#%%*:...:*%#:......+*++++++++++*#%%%#+%%%:.-@@*+++++++++++*##*+**+*%%+#@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.........................................................:+@#*++++++++++++++++++++++*#*++*+++++++++++++++*++##**=...=*##........=*++++++++++#%%#-:*##:..*%*+++++++++++#**#+*@@@#+++%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...........................................................:+%#*++++++++++++++++++*%%*+++**+++++++++++++++++#+===...=+++.........=*+++++++++##%*..:*#:..*#++++++++++++%*#%**@#++++++%@*+++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.............................................................:+%#*++++++++++++**###%#++++**+++++++++++++++++#*=====-==+=..........:+***++++*%#*=..-**..:-*+++++++++++##***#*@@#++++++%@*+++++++%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................*@%%##******####**++%+++++**+++++++++++++++++#*===--===+-............:=+***+=*++::.=+=...-#++++++++++*#++++#*%%@@#*++++%@*+++##@@@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................................-@%%%%%%@@@%***+++++*#+++++**+++++++++++++++++*#=-::::-=*:....................++=====*-...=#++++++++++#*++++##%%%%@@@@@#@@@@@@@%+%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................................#%%%%%%%@+#%++++++++#*+++++**++++++++++++++++++#=::::::=+.....................++=---=*:...*#+++++++++#%+++++#%%%%%%%%%%%%%%%%%%%+@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.............................................................-@%%%%%%%@+##++++++++%++++++*#++++++++++++++++++**------+=.....................=+::::=*....#*++++++++#%%+++++#%%%%%%%%%%%%%%%%%%%##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.............................................................#%%%%%%%@#+##*+++++++%+++++++#++++*+++++++++++++++:--==--......................-+:::-==...:#++++++++#%#%+++++#*#%%%%%%%%%%%%%%#%#%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +............................................................-@%%%%%%%@*+#%*#+++++*#++++++*#++++%*+++++++++++++*:.............................--===-....-#+++++++####%+++++++#%%%%%%%%%%%%%%%%*%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +............................................................#%%%%%%%%@++@+.=#++++*#+++++**#*+++%#+++++++++++++*=..............................:::......**++++++###*##+++++++*@%%%%%%%%%%%%%%%*%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...........................................................:@%%%*%%%%@+*@-.:###++**++++***##+++###+++++++++++++*-...........---::::::.................-*+++++*##***##+++++++*%@%%%%%%%%%%%%%%#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...........................................................+@%%%#%%%%#+#%:..=-+*+**+++%%**##+++#+##++++++++++++**-..........+-========--::...........:*++++*###*##*##+++++++*#+%@%%%%%%%%%%@@%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:@%%%%%%%%@#+#*..-:.=*+**++#%@#**#*++#++*#*+++++++++++**+:.......-=----------===:.........-*#***##%#**#%*%*+++++++*#++*%@@%%%@@@#++*%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:@%%%%%%%%%#+#=.:=-.-#+**+*%#@#**##++#++++*##**+++++**##+:.......=-------------+:.........=+*%##*+##**%@#%*+++++++*@+++++*####++++++%#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:%#%%%%%%*##%*:.:-:..***#+#*%@%***#*+#++++++*#%####**+-:........:+------------==............:#*+++*##%%%#%+++++++++%++++++++++++++++*%#@+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................-#-=***#%#%@#:.:::..-#@#%+%*%#@#**##*#++++++++%%=:..............:+------------+:............-#++++*%%%#%##+++++++++%+++++++++++++++++%##%++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:#=*%@#####@-..:-::+%%%%%*%*@+#@####%%*+++++++%##*:.............:+-----------=-............:#*++++*@%%%%%*+++++++++%*++++++++++++++++*%#%%+++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:@%+:-++++#%:...:=#%%%%%%%%*@++#@###%@#+++++++##+*#=.............=----------=-............:**++++++%#*@@%++++++++++%@*++++++++++++++++%%#%#++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:%=..-++++%*:..:+%%%%%%%%%%#%+++*%@@#**+++++++*%+++%#-...........:==-------=-............-**+++++++%#+@@#*+++++++++##%*++++++++++++++++%#*%*+++++++++++++++++++++++++++++++++++++++++++++++++++ +...........................................................:...-+++*%-..-*%%%%%%%%%#%%#++++++%#++++++++++%++++#%*-..........:=+===-:.............:+#*++++++++#@#@%@#**+++++++###%*+++++++++++++++%%##%+++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++#*.:+%%%%%%%%%%%%*#@++++++@*++++++++++#*+++++#%#=::.........::..............:+%##+++++++++*@**++%%***+++++*#*#%#+++++++++++++++@####++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++#+-*%%%%%%%%%%%%%##@++++++%+++++++++++*%+++++++#%@%+-:...................:-*%#++%+++++++++*%+++++%%#****+++***##%++++++++++++++#%*##%+++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++#%%%%%%%%%%%%%%%%%#%#++++#%++++++++++++%++++++++++*#@#-.............::-+#%#*++++%++++++++++%#+++++*@##*****#****#%#+++++++++++++@#**#*++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++%@%%%%%%%%%%%%%%%%%##%++++%#++++++++++++#%+++++###@@@@%=-::::::.:-=+*#%%#*+++++++%++++++++++%#+++++++%%##*#*##****#%%*+++++++++++#%**#%*+++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-*@@%%%%%%%%%%%%%%%%%%%*%%+++@*++*++++++++++%%@@@@@@@@@####*=----::-%@%#+++++++++++#%++++++++++##++++++++*@%#**###*****#%%+++++++++++@##*#%+++++++++++++++++++++++++++++++++++++++++++++++ +..............................................................:#@%%%%%%%%%%%%%%%%%%%%%##@*+#%+++**+++++++++#@@%%%%%%%#*****#*=---=*%%@##++++++++++##++++++++++*%++++++++++%%##*##******##@#+++++++++#%**#%*++++++++++++++++++++++++++++++++++++++++++++++ +.............................................................:#@%%%%%%%%%%%%%%%%%%%%%%#*%@+%*+++**+++++++++*%%%%%%%%%%*+**++*#**##***#@@@*++++++++@*++++++++*+*@+++++++++++*%@%#%#*******#%@#++++++++%#**##++++++++++++++++++++++++++++++++++++++++++++++ +............................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%**%%%*++****+++++++++*%%%%%%%%%###*++*****++++#%%%@#+++++++%++++++++**+*@+++++++++++++*%@@##**##*####%@#++++++%#*##%++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:+@%%%%%%%%%%%%%%%%%%%%%%%%%%#*#%%+++****++++++++++#%%%%%%%%%*%#**+++++++**#%%%%@@#++++##++++++++**+*%++++++++++++++++#@#******#***#%%#++++*%*#*##+++++++++++++++++++++++++++++++++++++++++++++ +.........................................................:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%#*###+++*****+++++++++*%%%%%%%%%#####******##%@%%%%%%@%+++%*+++++++***++%+++++++++++++++++#%************#%%#*++%#**##+++++++++++++++++++++++++++++++++++++++++++++ +........................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**#*++##*#**++++++*+++*%%%%%%%%###########%##@%%%%%%%@*++%++++++***##++%++++++++++++++++++%##************##%%#%#**##+++++++++++++++++++++++++++++++++++++++++++++ +......................................................:+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#*+*%#*****+++++**+++#%%%%%%%#**########%%%%%%%%%%%@@%##+++++****##+*%++++++++++++++++++*@#***************#%%##*##+++++++++++++++++++++++++++++++++++++++++++++ +.....................................................:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###++*@#******++++*##+++#%%%%%%%*++*********%%%%%%%%%@#%@*++++*****##+*%+++++++++++++++++++*%#***************#######+++++++++++++++++++++++++++++++++++++++++++++ +....................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@###++#@#******++++*#@#++*%%%%%%%#*++++***++*%%%%%%%%#%**#++++******%#++%++++++++++++++++++++*%#*************##***##%%#+++++++++++++++++++++++++++++++++++++++++++ +...................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##++%%#*******+++*#@%#+++#%%%%%%*+++*##*++*%%%%%%%%%%#%*+++******#%#+*%+++++++++++++++++++++*%#************#*#*****##%%###++++++++++++++++++++++++++++++++++++++ +.................................................:+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*%##+*@@#********+++*%%%#+++#%%%%%***##**#**%%%%%%%%%%%%#++********#@#+*@++++++++++++++++++++++*%#********************#*###%%@###*++++++++++++++++++++++++++++++++ +.................................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#%#+*%##*********++*#%%%%####%@%%%##**+**%#%%%%%%%%%%@%++*********%@#+*@+++++++++++++++++++++++*%#***************************##%%%@%#++++++++++++++++++++++++++++ +................................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****@#+####**********+*#%%%%%%%%%%%%%*+++*++*#%%%%%%%%%%@#**********#@@#+#@++++++++++++++++++++++++*%%###****************************##%@#*+++++++++++++++++++++++++ +...............................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*****##+#**%*************%%%%%%%%%%%%%#++++++*%%%%%%%%%%@####********%@@#+##++++++++++++++++++++###%@@@@@@%#*****************************###%#*++++++++++++++++++++++ +..............................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*******%+#**%#************#%%%%%%%%%%%%%*+++++*%%%%%%%%%@@%@%%%##****#%*#*+%%+++++++++++++*###%@@@%%%%%%%%%%%####*****************************##%%*+++++++++++++++++++ +..............................................@%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*********#*#**##************#%%%%%%%%%%%%%#++++*%%%%%%%%%%%%%%***%%#**#%#*#**%%%%%@@@@@%@@%@@%%%%%%%%%%%%%%%%%=+#*#%##**##*************************##%%*++++++++++++++++ +..............................................@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********#*#***%#*********###%@%%%%%%%%%%%%*+++#%%%%%%%%%%%%%%****#%##%#**#**#***********##%%%%%%%%%%%%%%%%%%%*=-.-##****###*************************##%%*++++++++++++++ +..............................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************###**##*****##%%%%%%%%%%%%%%%%%%%#*#*%%%%%%%%%%%%%%%******%%#***#+#**************#%%%%%%%%%%%%%%%%%%#-:.-%#****#%%%#**************************##%*++++++++++++ +..............................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*************#%#***##**#%%##@%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%*******#***##*#**************#%%%%%%%%%%%%%%%%%%#-:.=#******#%@@%#**************************#%#+++++++++++ +...............................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***************%#****%##%#***@%%%%%%%%%%%#*++#%#==%%%%%%%%%%%%%%%%***********%##***************#%%%%%%%%%%%%%%%%%%#-:.*%#*****##@#%@%#*************************#%#++++++++++ +...............................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%#*****************%*****#%*****%%%%%%%%%%@*==++========++#%%%%%%%%%@**********#%%#***************#%%%%%%%%%%%%%%%%%%%=..*%%#******#@**#%###**##******************##%%+++++++++ +................................................-@%%%%%%%%%%%%%%%%%%%%%%%%#******************#**********************#=+%#%+=====*##*=%%%%%%%%%@**********##*****************#%%%%%%%%%%%%%%%%%%%-.:#**@#******#%++*%%#####********************#@*++++++++ +.................................................+@%%%%%%%%%%%%%%%%%%%%%%#*******************#**********************#=*%#%+==--=%###=*#%%%%%%%@#*****************************%%%%%%%%%%%%%%%%%%%-.:%++*@%##****%#+++*%%##*********************#%#++++++++ +.................................................:#%%%%%%%%%%%%%%%%%%%%%#*********************#*********************#+=+*+=+-=-=+##+=#***#%%%%@#*****************************%%%%%%%%%%%%%%%%%%%=:*@+++*@%#****#@*++++*%%#*********************#@++++++++ +..................................................:#%%%%%%%%%%%%%%%%%%%#**********************##*********************##*+*#+*#=*++++##*******%#******************************%%%%%%%%%%%%%%%%%%%==@*+++++%%**#**#%++++++#%#********************#@++++++++ +...................................................:#%%%%%%%%%%%%%%%%%************************###********#*************###%+%#**%####********%#******************************%%%%%%%%%%%%%%%%%%%*#%+++++++%%****#%*+++++++%%##*****************#@++++++++ +....................................................-@%%%%%%%%%%%%%%#*************************##*#*******#****************#+%%++#************%#******************************%%%%%%%%%%%%%%%%%%%@%++++++++*%%****#%++++++++*%###***************#@++++++++ +.....................................................=@%%%%%%%%%%%%#***************************%*#******##****************#=++=*#************%#******************************%%%%%%%%%%%%%%%%%%%@#++++++++++%#***#%*+++++++++%%#***************%%++++++++ +......................................................=@%%%%%%%%%%*****************************%%%******@#****************#*+=+#*************%*******************************%%%%%%%%%%%%%%%%%%%@#+++++++++++%#***#%++++++++++*%##************#%#++++++++ +.......................................................+@%%%%%%%#**************************************#@******************####**************%*******************************%%%%%%%%%%%%%%%%%%%@#++++++++++++%#**#@+++++++++++*%#************#@+++++++++ +.......................................................:#@%%%%@%***************************************%%************#%%#********************%*******************************%%%%%%%%%%%%%%%%%%%%#++++++++++++*%#**%#++++++++++++*%#**********#%+++++++++ +........................................................:#@%@#+##*************************************%%#***********#@@%%@%**#%@@%#**********%*******************************%%%%%%%%%%%%%%%%%%%%#+++++++++++++*%#*##+++++++++++++*##********#%*+++++++++ +.........................................................:#@=..-%#***********************************#%%#***********%%***#%%%@@%#%@#********##*******************************#%%%%%%%%%%%%%%%%%%%#++++++++++++++%#*#@+++++++++++++++%#*******#%++++++++++ +...........................................................:...-+%#*********************************#%#%************%#****%@@%****%%********%#*******************************#%%%%%%%%%%%%%%%%%%%#+++++++++++++++%##@++++++++++++++++%%*****#%*++++++++++ +...............................................................-++%#********************************%###************#@%#%@@%%@#***%%********%@#******************************#%%%%%%%%%%%%%%%%%%%#+++++++++++++++###@+++++++++++++++++#%****%%+++++++++++ +...............................................................-+++%#******************************##*%**************#%@%#***#@@%@@#********#*@#*****************************#%%%%%%%%%%%%%%%%%%%#++++++++++++++++%#%++++++++++++++++++%#**#@*+++++++++++ +...............................................................-++++%#****************************#%##%************************###*********##++%%****************************#%%%%%%%%%%%%%%%%%%%#++++++++++++++++@#%++++++++++++++++++*%*#%#++++++++++++ +...............................................................-++++*@#***************************%#*#%************************************#*+++*%***************************#%%%%%%%%%%%%%%%%%%%#++++++++++++++++##@+++++++++++++++++++%##@+++++++++++++ +...............................................................-+++++*%#*************************%#**%#**************#%%#******************%+++++*%#*************************#%%%%%%%%%%%%%%%%%%%#++++++++++++++++#%@+++++++++++++++++++@#@*+++++++++++++ +...............................................................-++++++*@#**********************#%#**##**************%@%%%%***#%@@%#********@+++++++%#************************#%%%%%%%%%%%%%%%%%%%#++++++++++++++++%@#+++++++++++++++++++@@%++++++++++++++ +...............................................................-+++++++*@#********************#@@@##%***************@#***%%*#@%#*#%*******#@++++++++%#***********************#%%%%%%%%%%%%%%%%%%%#+++++++++++++++*@@*++++++++++++++++++%@%+++++++++++++++ +...............................................................-++++++++*@#******************###%*@@%***************@#***#@%@#***#@*******#@+++++++++%%**********************#%%%%%%%%%%%%%%%%%%@#+++++++++++++++#%++++++++++++++++++++@%++++++++++++++++ +...............................................................-+++++++++*%#****************##*#%*+%%***************#%%%%@@#%%##%@%*******%@++++++++++#%#********************#%%%%%%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++@#**************###**#%+@#****************#%%%#***#@@@%********%#+++++++++++*@#######*************%%%%%%%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++*%%#***********%#****#%%%**************************************%%++++++++++++*@@@@@%@@@%##*#******%%%%%%%%%%%%%%%%%%%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++#@#********#@@###**##%***************************************%@+++++++++++++++++++++##@@@@%%%###%%%%%%%%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++*%%#****#%@*+%%#**##*********************#%%%%#**************%#++++++++++++++++++++++++++####@@@@%%%%%%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++#@%##%@#++++*%#*##********************#%%%%%%%**************%#+++++++++++++++++++++++++++++++%@@@%%%%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++*%@%#+++++++*%%#********************%%%%%%%%%%*************%#++++++++++++++++++++++++++++++++###%@@@@@%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++*%********************#%%%%%%%%%%#************@+++++++++++++++++++++++++++++++++++++++++++#####%@@@++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++++++++++++*@#*******%************#%%%%+=#%%%%***********#@*+++++++++++++++++++++++++++++++++++++++++++++++++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++++++++++++%%******#@%************%%%%#==*%%%%************#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++%%*****#%%%*************%%%%%**%%%%%*************%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++*%%*****%%%%%*************#%%%%%%%%%%#*************#@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++++++++*@#****#%%%%%%**************#%%%%#%%@%***************##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++*@#***#%%%%%%%#**************##%%%%%%%#****************%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++++++#@#***#%%%%%%%%#**************#**##%#*##*********##*****#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++%%***#%%%%%%%%%%#*************#***#*##*##*********#@#*****#%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++++%%***#%%%%%%%%%%%**************#*#*#**#+##**********%@#******#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++*@#**#%##%%%%%%%%%%*************#*#*#***#+%***********%@@*******#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++#@#*#%%###%%%%%%%%%%*************#*#+#***%+%*#*********%%@%********%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++%%#*#%####%%%%%%%%%%%************#*##*#***%+#*#*********%%@#%#*******%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++%%*#%######%%%%%%%%%%%************#*%******#+##*#********%%@##%#*******#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++%%#%########%%%%%%%%%%%*************#%+#****#*#%+#********%%%%##%#*******#@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++*@%#%#########%%%%%%%%%%%***********#*%#+#*****#*%**********%%%%###%#*******#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++*@%############%%%%%%%%%%%*************%#*******#*%#+#*******%%%%#####%#*******%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++*@%#############%%%%%%%%%%%#***********#%********#+##+#*******%%%%######%#*******%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++*@%##############%%%%%%%%%%%%***********%#+#******#+###*#******%%%%########%#******#%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++#@%################%%%%%%%%%%%#*********#%#+#******#**%#+#*****%%%%%#########%%#*****#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++%%##################%%%%%%%%%%%%#******#*%%**********#+%%**#***#%%%%%###############***##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++%%###################%%%%%%%%%%%%%#*******%%+*********#+#%#+#**#%%%%%%################%#*##*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++%%####################%%%%%%%%%%%%%%%#***+#%#=*********#+*%#**##%%%%%%%##################%%#%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++%%#####################%%%%%%%%%%%%%%%%%%#+%%*=#*********#+###+%%%%%%%%%#####################%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++%%######################%%%%%%%%%%%%%%%%%%**%%++**********#+*#%*+%%%%%#%%######################%@%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++#%#######################%%%%%%%%%%%%%%%%%%+#%%+##*********#*+#%#+#%%%%%%%########################%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++*@%#######################*=#%%%%%%%%%%%%%%#=#%#=%@%##*****#%%+*%%#+%%%%%%%##########################%%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+*%%########################+.:-+##%%%%%%%%%%*+%%*+@+*@@@%%%@@%%*+#%%*+%%%%%%############################%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-*%%#########################=.....:--==++**#%+*%%++%++%%#%%%%%%##=*%%#++#=:=###############################%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................=%#%#########################=...............+=*%#+*#++#+::----:.-*=#%%#++#:=%###############################%%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................................=%*%##########################+...............+=#%#+*#++**.........+=+#%%###-=%#################################%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.............................................................=%*#%##########################+..............:*+%%#=##+++#.........:+-*%%%#++=%###################################%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +............................................................=%#*%###########################+..............:*+%%#=##+++%:.........=+-#%*#+++%####################################%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...........................................................:%#*#%###########################+..............-++%%*-%#+++#-.........:++#***=+#%######################################%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..........................................................:##**%############################+..............=+*%%*-%#+++#+..........:+**##=-=*%#######################################%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.........................................................:##***%############################+..............++*%%*-%#++++*............::++-=-=*%#######################################%%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.........................................................##***##############################+..............+=*%%*=%#++++#.............:*=-==--=%########################################%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +........................................................=%****%#############################+..............=##%#%#@*++++%:............-+--==-+=+%########################################%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.......................................................=%****#%#############################*..............:*=+#*+@+++++%:............==-=-*++*=##########################################%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +......................................................:%#****%##############################*...............=+===##+++++#-............==-=-+*=#+#%#########################################%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +......................................................+#*****%##############################*................++-+@*+++++*+............=+-+=-#*%%%%##########################################%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.....................................................=#*****#%##############################*...............:*=-=*%%+++++*............:**#++%%###############################################%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +....................................................-%******%###############################*:..............++-==-=#@++++#.............:-+**##################################################%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...................................................:##******%################################:.............:*======-*@+++#:................=###################################################@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...................................................#%******##################################:.............-*=====**+@+++#:................=###########################################%%%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..................................................=%*******%#################################:.............=+=#==-=%%++++#=................+########################################%##*++=====-=#@++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.................................................:%#*******%#################################:.............-*+#=#+#@+++++*=................+#########################################=======-=====*%+++++++++++++++++++++++++++++++++++++++++++++++++++++ +.................................................+%*******###################################:..............+#%%%@%++++++++................*########################################+-======---====##++++++++++++++++++++++++++++++++++++++++++++++++++++ +................................................:%#*******%##################################-................=%#+++++++++#................#########################################%=--====--=====+%*+++++++++++++++++++++++++++++++++++++++++++++++++++ +................................................##********%##################################-................+#++++++++++#...............:%@%########################################=-===---======*%+++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................:%********####################################=................*+++++++++++*:..............-%*@%######################################%#====+*+#+=====%*++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................#%********%###################################=................*+++++++++++#-..............-@+*@%#######################################*===##@#%+===-*%++++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................:@#********%##################################%=...............:#+++++++++++*=..............=@+++%%#######################################+==#*@+*%==--=%*+++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................+%********####################################%+...............:*++++++++++++=..............=@++++%@#######################################=-+#%@#@+=--=##+++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................+#********####################################@+...............-#++++++++++++*..............=@+++++*@%######################################=-+*%@%=----+%+++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................+#********%########################%%%%%%%@@@@@*...............=#++++++++++++#..............=@++++++*%@####################################%*===###-----=#*++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................%********#%####################%%%@@####+++++##*...............+#++++++++++++%..............=@++++++++#@%%################%%%%%%%%%%%%%%%##%%+=-++*-==---*%++++++++++++++++++++++++++++++++++++++++++++++++ +..............................................%********##################%%@@##*+++++++++++++#:.............:*+++++++++++++#:.............=%++++++++++#@%%#####%%%@@@@@@@@############%@@@@%*=+=*=====-=%*+++++++++++++++++++++++++++++++++++++++++++++++ +.............................................:%********%##############%%@%#++++++++++++++++++#:.............:%+++++++++++++#:.............-#+++++++++++*%@@%%%@@%##*+++++++++++++++++++++++#@%%**+====-=@#+++++++++++++++++++++++++++++++++++++++++++++++ +.............................................+%********%############%%%#+++++++++++++++++++++%:.............:%+++++++++++++#-..............*++++++++++++++##@%#+++++++++++++++++++++++++++++++#@@%#*+=+#@*+++++++++++++++++++++++++++++++++++++++++++++++ +.............................................+#***%****%##########%@#++++++++++++++++++++++++@-.............-#+++++++++++++#=..............=#++++++++++++++++++++++++++++++++++++++++++++++++++##=-:=+*%%++++++++++++++++++++++++++++++++++++++++++++++++ +.............................................+%**###***%########%@#++++++++++++++++++++++++++#=.............=#+++++++++++++#*..............-*++++++++++++++++++++++++++++++++++++++++++++++++++*#:...-::+%#++++++++++++++++++++++++++++++++++++++++++++++ +.............................................-%**#+#**#%######%%#++++++++++++++++++++++++++++#+.............*#++++++++++++++#...............#+++++++++++++++++++++++++++++++++++++++++++++++++++%*::::...:*#+++++++++++++++++++++++++++++++++++++++++++++ +..............................................%**#==#*#%####%%=-+++++++++++++++++++++++++++++**............:#+++++++++++++++%:..............*++++++++++++++++++++++++++++++++++++++++++++++++++++%+........+%++++++++++++++++++++++++++++++++++++++++++++ +..............................................@#**==+##%###%#:.-++++++++++++++++++++++++++++++#:...........:#+++++++++++++++#=..............=*+++++++++++++++++++++++++++++++++++++++++++++++++++##:........*%##*++++++++++++++++++++++++++++++++++++++++ +..............................................+#**-==+%%#%@=...-++++++++++++++++++++++++++++++%-...........-%++++++++++++++++*..............-*++++++++++++++++++++++++++++++++++++++++++++++++++++%-....::..:+*%#++++++++++++++++++++++++++++++++++++++++ +..............................................+%**-===+%%@=....-++++++++++++++++++++++++++++++%:...........-%++++++++++++++++#..............:+++++++++++++++++++++++++++++++++++++++++++++++++++++%=..:..-:.=##%+++++++++++++++++++++++++++++++++++++++++ +..............................................+@#*-=+=-+%+.....-++++++++++++++++++++++++++++++%:...........-@++++++++++++++++#-..............*++++++++++++++++++++++++++++++++++++++++++++++++++++*#:.::.:=--%%#+++++++++++++++++++++++++++++++++++++++++ +..............................................:@#*=+#+-=++.....-++++++++++++++++++++++++++++++%:...........-%++++++++++++++++#=..............++++++++++++++++++++++++++++++++++++++++++++++++++++++@+::=:..=*#@%+++++++++++++++++++++++++++++++++++++++++ +...............................................#@*=+*#==++.....-++++++++++++++++++++++++++++++%-...........=#+++++++++++++++++*..............=*++++++++++++++++++++++++++++++++++++++++++++++++++++*%=:-+:.:+%#++++++++++++++++++++++++++++++++++++++++++ +...............................................-@*=*#%=-++.....-++++++++++++++++++++++++++++++@-...........=#+++++++++++++++++#:............:*#+++++++++++++++++++++++++++++++++++++++++++++++++++++*@*--**%%++++++++++++++++++++++++++++++++++++++++++++ +................................................##=*%%=-=+.....-++++++++++++++++++++++++++++++@-...........=#+++++++++++++++++#-............=-*+++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%@@*+++++++++++++++++++++++++++++++++++++++++++++ +................................................+#=#%@=-==.....-++++++++++++++++++++++++++++++#-...........=#+++++++++++++++++*+...........--.*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +................................................-%=*%@=-==.....-++++++++++++++++++++++++++++++%+-::.....::-*#++++++++++++++++++#:........:=-..*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.................................................#*#@%=-=*.....-++++++++++++++++++++++++++++++#+-=========-+#++++++++++++++++++*+-::...:-=:.:-#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.................................................-%%@#===%:....-++++++++++++++++++++++++++++++#=.......:...+#++++++++++++++++++#+--=====-..:=+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..................................................#%#+-==%:....-++++++++++++++++++++++++++++++#*-:::...::-=##+++++++++++++++++++*........:-++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..................................................+@#====%:....-++++++++++++++++++++++++++++++##++++===++++##+++++++++++++++++++#=:::::-=+++=:-#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..................................................#@%==-=%:....-++++++++++++++++++++++++++++++#*-=+++++++=-+#+++++++++++++++++++#*++++++++=:..-%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..................................................#***=-=%@:...-++++++++++++++++++++++++++++++#*..::::::...=#+++++++++++++++++++*#==++==-:....:%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +..................................................-#:++==##+...-+++++++++++++++++++++++++++++++*...........=#++++++++++++++++++++#:..:........:%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...................................................#+:+*=#=+...-+++++++++++++++++++++++++++++++#:..........=#++++++++++++++++++++*:...........:%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...................................................:#+:**+-##:.-+++++++++++++++++++++++++++++++%:..........=#++++++++++++++++++++#=...........:#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +....................................................+#..::.:+%=-+++++++++++++++++++++++++++++++%:..........+#++++++++++++++++++++#*...........:#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +....................................................+*...:...-#*+++++++++++++++++++++++++++++++%-..........+#++++++++++++++++++++*#:..........:%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +....................................................+=........:#%++++++++++++++++++++++++++++++#=..........+#+++++++++++++++++++++%-..........:%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...................................................:@=........+=*%+++++++++++++++++++++++++++++#=..........+#+++++++++++++++++++++%+..........:%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...................................................:@=........:#+%*++++++++++++++++++++++++++++#+..........+#+++++++++++++++++++++##:.........-#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +....................................................+=.........+%##++++++++++++++++++++++++++++#*..........+#+++++++++++++++++++++*%:.........-*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +....................................................+*.:.--....=#@#++++++++++++++++++++++++++++#*..........*#++++++++++++++++++++++%-.........-#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +....................................................:%:=:*#:...=##++++++++++++++++++++++++++++++#:.........*#++++++++++++++++++++++@-.........=#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.....................................................#+-=++*--=%*+++++++++++++++++++++++++++++++#:.........*#++++++++++++++++++++++@=.........+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.....................................................-%==*#=#@#+++++++++++++++++++++++++++++++++%:.........*#++++++++++++++++++++++%+.........**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +......................................................=%*%@@%:.-++++++++++++++++++++++++++++++++%-.........*#++++++++++++++++++++++#*.........#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +.......................................................-+-:::..-++++++++++++++++++++++++++++++++@-..:=***+-*#++++++++++++++++++++++##:.......:%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++@+:-#%%%%%%@@++++++++++++++++++++++##:.......:%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++@%*%%%%%%%%%@++++++++++++++++++++++##:-=+=-:.-%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++@%%%%%%%%%%%@*+++++++++++++++++++++#@#%%%%%#**%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++@%%%%%%%%%%%@#+++++++++++++++++++++%@%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++@%%%%%%%%%%%@#+++++++++++++++++++++@%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++@%%%%%%%%%%%@#+++++++++++++++++++++@%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++*@%%%%%%%%%%@#+++++++++++++++++++++@%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++++++++++++++++*@%%%%%%%%%@*+++++++++++++++++++++@%%%%%%%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++++%@%%%%%%%%@++++++++++++++++++++++%@%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-+++++++++++++++++++++++++++++++++++#@%%%%%%@#+++++++++++++++++++++++%@%%%%%%%%@%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +...............................................................-++++++++++++++++++++++++++++++++++++*%@@%@@*+++++++++++++++++++++++++%@%%%%%@@%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +......................................................................................................-++-............................+@@@@@#-........................................................................................................... +.......................................................................................................................................-+++:............................................................................................................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +................................................................................................................:+-...................................................................................................................................... +...............................................................................................................=%#%#:.................................................................................................................................... +..............................................................................................................:%+=+##:................................................................................................................................... +.............................................................................................................:*+====*#:.................................................................................................................................. +............................................................................................................:*+------+*::................................................................................................................................ +...........................................................................................................:*+--------+%@+++::........................................................................................................................... +.........................................................................................................::*+==-+*=----=%%%%@@+=:........................................................................................................................ +.....................................................................................................::++%%+=--=#%#=----+%%%%%%%%+=...................................................................................................................... +.................................................................................................:=++%%%%%+===-=###+===--+%%%%%%%%@#=:................................................................................................................... +.............................................................................................:=+#%%%%%%%%*--==-+#*======--+%%%%%%%%%%%+:................................................................................................................. +..........................................................................................:++%@%%%%%%%%%*=====-+#*======---+%%%%%%%%%%%%+=............................................................................................................... +......................................................................................:=+#%%%%%%%%%%%%%#======-+#*========--*%%%%%%%%%%%%%#=............................................................................................................. +....................................................................................:+%%%%%%%%%%%%%%%%#=========##=========--+%%%%%%%%%%%#%@#-........................................................................................................... +.................................................................................:-#%%%%%%%%%%%%%%%%%#==========*#*++=-=====--+%%%%%%%%%%%%%%%#=......................................................................................................... +..............................................................................:-#%%%%%%%%%%%%%%%%%%%#===========+**###+=======-+%%%%%%%%%%%%%#%@#-.......++.............................................................................................. +...........................................................................:+#%%%%%%%%%%%%%%%%%%%%%#=-=========--==*#%#*======-=%%%%%%%%%%%%%%%%%%#+:...=@@:............................................................................................. +.........................................................................:+@@%%%%%%%%%%%%%%%%%%%%%%*-=========-=+++=*%%##=====-+%%%%%%%%%%%%%%%%%%%@@+::@@=......................................................................................-------- +.......................................................................:+%%%%%%%%%%%%%%%%%%%%%%%%%%#-==========#%%#=+#%#+=====-+%%%%%%%%%%%%%%%%%%%%%@##@#.......................................................................................++++++++ +.....................................................................:+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%=-======-=*%*##==##++=====-*%%%%%%%%%%%%%%%%%%%%%%@@@::=+-...................................................................................++++++++ +....................................................................=@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======+=+%#=+*=+#*+#=====-#%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%:..................................................................................++++++++ +..................................................................=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#======+*#%#+===*#*##====--%%%%%%%%%%%%%%%#%%%%%%@@%%@#++=...................................................................................++++++++ +.................................................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=====-=##%*=-+##%#+====-=%%%%%%%%%%%%%#*+#%%%%@@%%#@+......................................................................................++++++++ +................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======-=*#%*=*###*=====-+%%%%%%%%%%%%%**+*%%%%@%%#%@=......................................................................................++++++++ +.................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=========+#####*=======-*%%%%%%%%%%%%*+***%%%@@%%%%@:......................................................................................++++++++ +.................................................................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+========-=#%#+=-=======#%%%%%%%#**#%*+=+*@%@@%#%%@*.......................................................................................++++++++ +.................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=========-*##==========%%%%%%%#****%+--+#%#*#%%%#@+.......................................................................................++++++++ +..................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=========-+##=========+%%%%%%%#***+*+:-*#****#%**@:.......................................................................................++++++++ +..................................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*==========##=========*%%%%%%%%**+-:-::--+***##+*@=.......................................................................................++++++++ +..................................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=========-*#=========#%%%%%%%%%#*=-:::::=**#%*+*%@-......................................................................................++++++++ +..................................................................:@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+========-=*=========%@@%%%%%%@%**-::::=+#%%**+**##......................................................................................++++++++ +...................................................................#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*==========*=-======+@@@@@@@@@#**+--=-:=*#%******%@:.....................................................................................++++++++ +...................................................................+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%==========+========*@%%%%%%@%****++*#==**##**+#@#=......................................................................................++++++++ +...................................................................=@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%@@*==================%@%@@@%@@#******%%****#%%%*##:.......................................................................................++++++++ +...................................................................:@%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%====----------===+@%%@%%%%%%#****%%%***#%%%%%%@%+=.....................................................................................++++++++ +....................................................................+@%%%%%%%%%%%%%@%@@@@%%%@%%%%%%%%%%%%@+=====++++**#####%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%@#+:..................................................................................++++++++ +....................................................................:@%%%%%%%%%%@@@@%%%%%%%@@@@@@@@@%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%++:...............................................................................++++++++ +....................................................................:@%%%%%@@@@@%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%@@+:.............................................................................++++++++ +.....................................................................+@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+:...........................................................................++++++++ +....................................................................=#@%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+...........................................................................++++++++ +..................................................................=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+...........................................................................++++++++ +................................................................:+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@#+-:............................................................................++++++++ +...............................................................=@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%@*++=::................................................................................++++++++ +.............................................................:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***#+++#@#.....................................................................................++++++++ +...........................................................:+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***+++++++*++++#@=....................................................................................++++++++ +..........................................................=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######****++++*#++++++++++**++++#@=...................................................................................++++++++ +........................................................:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########*****++++#+++++*****+#++++++++==+*+++++*%#:.................................................................................++++++++ +.......................................................=@@%%%%%%%%%%%%%%%%%%%%%%%%%########******#*********%*+++++++++++++++++*#+*####***+**++++++=-==**++++++#%#+:::............................................................................++++++++ +......................................................:@@%%%%%%%%%%########*****+++++++++++++++++*+*#######**++++++++++++*+++++%***+++++++**+++++++--=+*++++++++*#%@%:...........................................................................++++++++ +.......................................................+++++++-:%*++++++*#+++++++++++++++++++++++#++++++++#=*++++++++++++**++++*#++++++++++*++++-=+=-=+*+++++++++++%+............................................................................++++++++ +...............................................................-#++++++*#++++++++++++++++++++++++#+++++++*+:+++++++++++++**++++++*+++++++++*++++==+=-=+**+++++++++##:............................................................................++++++++ +...............................................................+*+++++**+++++++++++++++++++++++++#+++++++#-:=++++++++++++***++++=+#++++++++*+++++++++++**++++++++**:.............................................................................++++++++ +..............................................................=%+++++**++++++++++++++++++++++++++*++++++#=::=*+++++++++++**#*++++-+*+++++++*++++++++++++*+++++++**:..............................................................................++++++++ +............................................................:#@%+++*#*++++++++++++++=-=++++++++++*+++++**-::-*++++++++++++*##++++--=*++++++*++++++++++++*++++++#@:...............................................................................++++++++ +...........................................................:#%%%++*#*+++++++++++++++=-=++==++++++*+++++#-::::=++++++++++++*#%*++++---**++++**++++++++++++*++*#%%@+...............................................................................++++++++ +..........................................................=%%%%#+**+++++++++++++++++--=++-=++++++*++++*=:::::-*++++++++++++*%%+++*=-:-+***++*++++++++++++**#%##%%@=..............................................................................++++++++ +.........................................................=@%%%%%#*+++++++++++++++*#+--=++==++++++*+****====---+++++++++++++*#%*++++-=+*%%%*+*++++++++++++#%*++*%%%#:.............................................................................++++++++ +........................................................=%%%%%%#*++++++++++++++++*#+=-=++++++++++*+*%@%@@@@%#*=*+++++++++++*##+*+*#%@@@@@@@%#++++++++++++*#+++*%%%@#.............................................................................++++++++ +.......................................................=%%%%%#*++++++++++++++++++#*++=+++++++++++**#@@@@@@@@@@@%*+++++++++++*#+%%%%%@@@@@@@@%+++++++++++++#++++#%%%@:............................................................................++++++++ +......................................................=%#%%*+++++++++++++++++++++#*+++++++++++++*#%@@@@@@@@@@@@@%*+++++++++++#@@@@%##%@@%@@@@*++++++++++++**+++#%%%%+............................................................................++++++++ +.....................................................=%%%%%#+++++++++++++++++++++#+++++++++++++*%%@@@@@@@@%%++*#@#+++++++++++*@@#%%###@@*=#@@%*+++++++++++**+++#%%%%@:...........................................................................++++++++ +....................................................=%%%%%%%#++++++++++++++++++++#++++++++++++*%%@@@@@%%%%%%#-.:=*+++++++++++#%*-%%%%%%%%::#@%#++++++++++++*+++##*%%%+...........................................................................++++++++ +...................................................=%%%%%%%%%#+++++++++++++++++++#++++++++++++#%%%#%%%%%%%%%%*....:++++++++++****%%%%%%%%:.-#%*++++++++++++#+++*%%%#%@:..........................................................................++++++++ +..................................................=%%%%%%%%%%@%*+++++++++++++++++#++++++++++++#%%#-#%%%%#%%%%#:....:=++++++++++*%@%#+#%%%-..*#+++++++++++++*+++*%%%%%%+..........................................................................++++++++ +.................................................=@%%%%%%%%%@=+%#*+++++++++++++++#++++++++++++#%**-#%%%#-+%%%%-......-**+++++++*%%#+:+#%%-..**++++++++++**+**++*###%*+#..........................................................................++++++++ +................................................=@%%%%%%%%%@+..:@##**++++++++++**#++++++++++++*#+*-#%##+.:*#%%=.......:=+******+*#-...=*#:.:*+++++++++++%*+**++**%%%*+%:.........................................................................++++++++ +...............................................:#%%%%%%%%%%#:..:%***############%#*+++++++++++*#**-##*:....=*#=..........:-==:..++=..:==*:.:*++++++++++*%#++#++**#++@@@+.........................................................................++++++++ +...............................................#%%%%%%%%%%#:...-#++++++++++++++*#**++++++++++++#*+=*++=...:==+=.................+==:::==+..-*++++++++++*##++#++*#*-.:=+:.........................................................................++++++++ +..............................................-%%%%%%%%%%@=....+*++++++++++++++#*+*++++++++++++**++*+=+.:::==+=.................++=====++..=+++++++++++#+#*+#++*%*=..............................................................................++++++++ +.............................................:#%%%%%%%%%%#.....*+**++++++++++++#++*++++++++++++++++*==+-=====+-.................==-::-=+=..+++++++++++*#+**+#++*%##:.............................................................................++++++++ +.............................................+%%%*#%%%%%@:....:#+*#+++++++++++**++#++++++++++++++++*+==----==*:.................==::::-+:.:*++++++++++#*+*#+#++*@%*-.............................................................................++++++++ +............................................:@%%%#%%%%%@#.....+*+*#+++++++++++#*++#*+++++++++++++++++-:::::-++..................-+:::--+:.=++++++++++**++*#+#++*@##*.............................................................................++++++++ +............................................+#%%%%%%%%%@=....:%++%#+++++++++++%++**#++++++++++++++++*-:::::-*-...................-=====:..++++++++++#%++++#*#++*+-%#:............................................................................++++++++ +............................................%+%%%%%%%%@+.....-#++@#++++++++++*#+*#*#*++++++++++++++++=----==+............................-*++++++++*%#++++##*++#+.##+............................................................................++++++++ +............................................@#**%%%%%%@:.....+*+###++++++++++#**%#*#*++++++++++++++*=--==---:...........................:*++++++++####+++*%#+++%+.=%#:...........................................................................++++++++ +............................................-+##+*%%%@#.....:%++%=*++++++++++#+#@#**#+++++++++++++++*..............:::::---:::::........+*++++++*#*+*#+++*#++++%:..##+...........................................................................++++++++ +...............................................=%=*%#@=.....-*+*+:*+++++++++*%*%*%*###++++++++++++++*-............=++++=====++++:......=*+++++*##+++*#+++++++++%:..=%#:..........................................................................++++++++ +................................................+%==*@:.....#++%::*+++++++++#%##=@#**#*++*#++++++++++*:..........-=------------+:.....+#*+***##+++++*%++++++++*+....+%=..........................................................................++++++++ +.................................................##=%+.....:#+*#.:*++++++++*#%%+.#%#*##++*@%*++++++++++..........=-------------+:.....-***+=:**++++++%*+++++++#@:...:#%-.........................................................................++++++++ +.................................................:@#@:.....+*+%:.:*++++++++##%@:.:#%####++#@%#++++++++*+.........=-------------+............:*+++++++%*+++++++#@:....-@#.........................................................................++++++++ +..................................................*@#.....-%+*#..:*+++++++*###@+:.:#@%%@#**%+@#**++++++#+:.......=------------=-...........:+*+++++++%#+++++++#@:.....#@=........................................................................++++++++ +..................................................-+-.....+#+#-..:*++++++*#-::=#%*%@*++++%%@@%+*######***-.......-=-----------=:..........:*%++++++++%+*++++++#%+.....-@@:.......................................................................++++++++ +.........................................................:%+*+...+*+++++#=:....:*%=#+....:::@*+++++**-::.........:=---------==:.........:=#@#++++++++#+*+++++*###......+@#:......................................................................++++++++ +.........................................................-#+#:...+*+++++#:.....:-=:*+......+%++++++*#:............:=-----:::-:........:=##:@*++++++++#*#+++++*##@:.....:%%+......................................................................++++++++ +.........................................................#***....+*+++++*-....::::.+@:.....#*++++++*@#-............:................:=##-.=%+++++++++#*%+++++*##%:......=%@=.....................................................................++++++++ +........................................................:%+#:....=++++++*=....::...=@+:...-#+++++++*++%*-.........................:=##-...+#+++++++++*+#*++++*###+.......#%#:....................................................................++++++++ +........................................................+#*+.....=+++++*#:....::...=@@+...#*+++++++*+.:+%#=:....................-+#+=....:%*+++++++++*+-#++++*#*#*.......-%%+....................................................................++++++++ +........................................................+*#:....:%+++++#+.....:..:+%%%@:.=%++++++++*+...:+#%*=-:............:-+#*+:......+%++++++++++*+:%++++##**#-.......##%=...................................................................++++++++ +.......................................................-#*+.....:#++++*%+......:+#%%%%@+.+*++++++++*+::....:++#%#+:.....:::-#@+=.........#*+++++++*++*+.#*+++##**#+.......-%#@-..................................................................++++++++ +.......................................................+*#:.....:#++++#%=....:+#%%%#%%%@:%*++++++++*#@@#++++++#@##=-::::::=*%@=:........:%+++++++**++++.-#+++#****#:......:%#%#:.................................................................++++++++ +......................................................:%*+......-*+++*##=..:+#%%%%%%%%%@##++++++++++%%%%@@@@@@@#**#*=-:--*#**%@@=.......+#+++++++**+++%::%*++#**#*#*.::++++*%#%+.................................................................++++++++ +......................................................-##-......+*++*#*#+:=#%%%%%%%%%%%%@*++*+++++++#%%%%%%%%@%*****#*=*#****#%%@=......#*++++++***+++%:.+#++###%%##*%#**+%*%##%-................................................................++++++++ +......................................................##%:......+*++##*#%#%%%%%%%%%%%%%%%+++*+++++++#%%%%%%%%%**%#*+**##++*%#%%%%@+:...=%++++++***#*++#:.-%**%%%-+%#=:....++*%###:...............................................................++++++++ +.....................................................:%%+......:%++*###@%%%%%%%%%%%%%%%%#+++*+++++++#@%%%%%%%%*####**+*+**%#%@%%%%@@#+:#*++++++***%%++#:.:%#%%%%*:-:......*+=%##%#...............................................................++++++++ +.....................................................+%#:......:#+*##%%%%%%%%%%%%%%%%%%%*++***++++++#@%%%%%%%%#####%%##%%%%%@@%%%%%%%@@%++++++***#@%*+#:.=@@%%%%%*-:......#=.##*#%=..............................................................++++++++ +.....................................................#%+.......-*+#%%%%%%%%%%%%%%%%%%%%%*++***+++++**%%%%%%%%%%**#%%#######*#%%%%%%%%%%*+++++****##+*+#+=@%%%%%%%%#-......#+.+%####:.............................................................++++++++ +....................................................:%@:.......+*#@%%%%%%%%%%%%%%%%%%%%%+++##**++++##%%%%%%%%%%#*+**#####**+#%%%%%%%%%#+++++*****#++#+*#@%%%%%%%%%%*:....:%:.:%###%#.............................................................++++++++ +....................................................+@#.......:##%%%%%%%%%%%%%%%%%%%%%%#++*%#**++++*%%%%%%%%%%%%*++++****++*%%%%%%%%%%*++++******%+:#+*@%%%%%%%%%%%%*....*+...###*#%=............................................................++++++++ +....................................................#@+......:#@%%%%%%%%%%%%%%%%%%%%%%%#++%%****+++*#@%%%%%%%%%%%*++*###**+*%%%%%%%%%#++++******#%::%+*%%%%%%%%%%%%%%+...#:...+%#**#%:...........................................................++++++++ +...................................................:%@+.....:#@%%%%%%%%%%%%%%%%%%%%%%%%#+*@%****+++**%@%%%%%%%%%%#*###**##*#%%%%%%%%%*+++*******#@::%**%%%%%%%%%%%%%%%=..+#:..=%#**#%+...........................................................++++++++ +...................................................+%@+....:#@%%%%%%%%%%%%%%%%%%%%%%%%%*+#@%*****+++*#@%%%%%%%%%%%%#*+++**#%%%%%%%%%#++*********#@:#@**%%%%%%%%%%%%%%%#-.=%#+::@###*#+...........................................................++++++++ +...................................................+#%:...=@@%%%%%%%%%%%%%%%%%%%%%%%%%%*+%%%******++**#%%%%%%%%%%%%#*+++++*%%%%%%%%%**##########%*#@%*#%%%%%%%%%%%%%%%%#-*##%%+%#*###%:..........................................................++++++++ +...................................................+#%:.:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%*+%@%*******+***%%%%%%%%%%%%%#***++#%%%%%%%@@%%%#####%@@@@#@%%#%%%%%%%%%%%%%%%%%%#%####%@%##*#%:..........................................................++++++++ +..................................................:%#%::#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**@#%#*********##%@%%%%%%%%%%%###**%%%%%%%%%%%%%#*****%@*#@%%%%%%%%%%%%%%%%%%%%%%%%*#####%##*#%:..........................................................++++++++ +..................................................:%#%=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*##******###%%%%%%%%%%%%%%%#=+##%%%%%%%%%%%%%*******%*#%%%%@%%%%%%%%%%%%%%%%%%%%#####*#####%:..........................................................++++++++ +..................................................+%#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***##***##%#%%%%%%%%%%*+==#*=-=#%%#%%%%%%%%%%%********%%#%%%%%%%%%%%%%%%%%%%%%%%%%##*****###@:..........................................................++++++++ +..................................................+##%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*%%***##*##%#**%%%%%%%%%++##*=====++=++%%%%%%%%%%********%**%%%%%%%%%%%%%%%%%%%%%%%%%%#*#*****##+:.........................................................++++++++ +..................................................+##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#%****%####***%@%%%@%%#=*#*%+===--+###*%%%%%%%%%*******%***#%%%%%%%%%%%%%%%%%%%%%%%%%#********##%=........................................................++++++++ +..................................................+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****#****##***#***####***#+=##*===---*###*#*#%%%%%%******#*****%%%%%%%%%%%%%%%%%%%%%%%%%%#*********###-......................................................++++++++ +..................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***********##**##***********#*++=*+=+=+=**+%****#%%%#*****#*******%%%%%%%%%%%%%%%%%%%%%%%%%%#**********#%=.....................................................++++++++ +..................................................+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*************#**##************###%#=#%*##+*%*******##*****#********#%%%%%%%%%%%%%%%%%%%%%%%%%%#*********####:...................................................++++++++ +..................................................+##%%%%%%%%%%%%%%%%%%%%%%%%%%%**************#**#****************#++##**###*********#****#**********%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********##*:..................................................++++++++ +..................................................+##%%%%%%%%%%%%%%%%%%%%%%%%%#***************##*#****************#+=%%+#************%***%************%%%%%%%%%%%%%%%%%%%%%%%%%%#************##+:................................................++++++++ +..................................................+%*#%%%%%%%%%%%%%%%%%%%%%%%#*****************#*#****************#*=+=+#************%**%*************#%%%%%%%%%%%%%%%%%%%%%%%%%%#************###:...............................................++++++++ +..................................................:%#*#%%%%%%%%%%%%%%%%%%%%%#******************###*****************#%##%*************#*##**************#%%%%%%%%%%%%%%%%%%%%%%%%%%#*************#*-..............................................++++++++ +..................................................:%#**#%%%%%%%%%%%%%%%%%%%********************#%#***********************************%##****************%%%%%%%%%%%%%%%%%%%%%%%%%%%#*************#%-.............................................++++++++ +...................................................*%#*#%%%%%%%%%%%%%%%%%%**********************%************************************%%******************%%%%%%%%%%%%%%%%%%%%%%%%%%%**************###:...........................................++++++++ +...................................................-%##%#%%%%%%%%%%%%%%%%***********************#**************#%%#******#%#*********%#******************#%%%%%%%%%%%%%%%%%%%%%%%%%%#***************#*:..........................................++++++++ +....................................................+%##*#%%%%%%%%%%%%%#************************#**************@%#%%#*#%@%%@%********#********************#%%%%%%%%%%%%%%%%%%%%%%%%%%#***************#*-.........................................++++++++ +....................................................=@#***#%%%%%%%%%%%#************************##*************#%***#%%@%#**#@********#*********************%%%%%%%%%%%%%%%%%%%%%%%%%%%***************##%=........................................++++++++ +....................................................+%#***#%%%%%%%%%%#*************************#**************#%****%@@#***%@********#*********************#%%%%%%%%%%%%%%%%%%%%%%%%%%#****************#%#:......................................++++++++ +...................................................-%#*****#%%%%%%%%#**************************#***************%%#%@@%#@%%%@%********#**********************#%%%%%%%%%%%%%%%%%%%%%%%%#*****************##%#:.....................................++++++++ +..................................................:##******##%%%%%%****************************#****************#%%%#**##%%#*********#***********************%%%%%%%%%%%%%%%%%%%%%@@@%%####**************###.....................................++++++++ +..................................................#%********#%%%%%#***************************#*************************************##***********************#%%%%%%%%%%%%%%%%%%%@=::+++#@%%####***********%=....................................++++++++ +.................................................=%#*********#%%%%%***************************#*************************************#*************************#%%%%%%%%%%%%%%%%%@=.......::=++%%%##********#%:...................................++++++++ +................................................:%#***********%@#*##**************************#****************###********#*********#**************************%%%%%%%%%%%%%%%@#:.............::-+%%##******#+...................................++++++++ +................................................+%***#********###**##*************************#***************%@@@%%***#%@@%#*******#***************************%%%%%%%%%%%%%%@:..................::+#%##*#*#%:..................................++++++++ +...............................................-%#**%#**************##***********************#***************#@#***%%#%@%#*#@*******#***************************#%%%%%%%%%%%%#%+......................:+%##**%:..................................++++++++ +..............................................:##**#%****************##**********************#***************#@****#@@@#****@#******%****************************#%%%%%%%%%%#*#+........................:+%#*#:..................................++++++++ +..............................................+%#*#%#****************#@%*********************#****************%%##%@%#@#***#@*******%*****************************#%%%%%%@+%###%:.........................-##%:..................................++++++++ +..............................................##**%%*****************#@#%********************#*****************%@@%#***%%##@@*******%*****************************#@%%%@#-:@#*#%+..........................=%%:..................................++++++++ +.............................................-#**#@%*****************#@:%#******************##**************************#%@%#*******#%***************************%%=#@#=...=%##%+...........................#@:..................................++++++++ +.............................................*#**%@#*****************#@:=%******************%****************************************##************************#%+:.:-.....:%#*##...........................+#...................................++++++++ +............................................-#**#@@#*****************#+..+%*****************%*****************************************%**********************#%#:...........+#*#@:..........................#+...................................++++++++ +............................................****%*@#*****************##..:##***************%#***********************#*****************##*******************#%#=.............+%*#%:.........................=@=...................................++++++++ +...........................................-#**#%:@##****************#@:..:##*************%#*********************#%@@@%%**************#%*****************#%%=...............:%##%=........................:##....................................++++++++ +...........................................*#**%#.*%*****************#@:...-%***********#%#*********************#@%%%%%%%*************#@%**************#%#=:.................###%+........................+@=....................................++++++++ +..........................................-%**#%=.+%#****************#%:....+%**********%#*********************#%%%%%%%%%*************#*#%***********#%#=....................+%#%+........................##.....................................++++++++ +..........................................+#**##..:%#****************#%:....:##********##**********************%%%%+=*%%%#************##:#%#*****#%%%*=......................-%##+...............................................................++++++++ +.........................................:%***%+...##****************#%-.....-@#*******##*********************#%%%#===#%%#*************%=:+@#***%#+=:........................:%##+...............................................................++++++++ +.........................................+%**#%:...+%*****************%+......+@*******##**********************%%%%*+#%%%#*************#%:.=#@@@#:...........................:%##+...............................................................++++++++ +.........................................##**#@:...:@#****************#@:.....:#%***##%%*********#*************%%%%%%%%%%#**********#***%#..:+=:.............................:@#%+...............................................................++++++++ +.........................................@#**%#.....+%#***************#%:......:%%%@@@@#*********%*************#%%%%%%%%#***********%****%=..................................:%#%+...............................................................++++++++ +.........................................%***%+.....:@#****************%+.......::::=@#*********#%**************#@%%%%%%************@#***##..................................:%#%+...............................................................++++++++ +.........................................%***%=......=%#***************##..........=@#*********#%%**************#*#%%%#%************@%****%=.................................=@#@:...............................................................++++++++ +.........................................%**#%:.......#%#**************#%-........=@#*********%%%%**************#*+**##%************%%#***#%:................................*@%=................................................................++++++++ +.........................................%#*#%:.......:#%#**************##.......:##********#%%%%#**************#*+#*#*#***********#%%%****%#:..............................-@@=.................................................................++++++++ +.........................................##*#%:........:@##*************#%=.....:#%*******#%%%%#%#*************#**+#*#**#**********#%%%#****%#:.............................:+:..................................................................++++++++ +.........................................-%*#@+.........=@#*************#%#:...:#%******#%%%%%%%%#*************##*+#*#**#**********#%%%%#****%#:.................................................................................................++++++++ +..........................................#%#%+..........=##*************#%+..:#%******%%%%%%%%%%#*************##+***#+*#***********%%%%%*****##:................................................................................................++++++++ +..........................................-@%%#...........:#%#************#%::#%*****#%%%%%%%%%%%#************#*#+***#+#************%%%%%#*****#%=...............................................................................................++++++++ +...........................................-@%@:............=%#************%##%***#%%#%%%%%%%%%%%#************###=#**#+#+#**********#%%%%@%#****#%=..............................................................................................++++++++ +............................................-#@+.............-###**********#%%**#%%###%%%%%%%%%%%**************#*+#**#+#+#***********%%%%%%%#*****%=.............................................................................................++++++++ +.............................................:+-...............=%%##******###*#%%#####%%%%%%%%%%%**************%++***#+#*************%%%%%##%%#****%=............................................................................................++++++++ +................................................................:+@%%%%%%%@%%%%#######%%%%%%%%%%%#************##=****#+##************%%%%%####%%#***%=...........................................................................................++++++++ +..................................................................:::=*@@@@%%#########%%%%%%%%%%%%************%#=*******#+#**********%%%%#######%%#**%=..........................................................................................++++++++ +....................................................................:+@@%#############%%%%%%%%%%%%#***********%#=#******%+#*********#%%%@#########%%#*%=.........................................................................................++++++++ +...................................................................-#@%###############%%%%%%%%%%%%%#*********#%*+*******%***********%%%%%###########%%#%:........................................................................................++++++++ +.................................................................:+%%#################%%%%%%%%%%%%%%#********%%++******+##+*******#%%%%%%#############%%#:.......................................................................................++++++++ +...............................................................:+%%###################%%%%%%%%%%%%%%%#*******%%+*******+##+#***##%%%%%%%%###############%#:......................................................................................++++++++ +..............................................................-#%#####################%%%%%%%%%%%%%%%%%****+#%#=******#=##+##%%%%%%%%%%%%################%#:.....................................................................................++++++++ +............................................................-*%%#######################%%%%%%%%%%%%%%%%%###+%%*=#*****#=###*#*#%%%%%%%%%%#################%#:....................................................................................++++++++ +...........................................................=@%#########################%##%%%%%%%%%%%%%%%@**%%*=@@@@+-=+*##++::-=*#%%%%%%##################%#....................................................................................++++++++ +.........................................................:#@%###########################-:=*#%%%%%%%%%%###+#%#+++::@-.:+*##**-:...:-=*%%####################%=...................................................................................++++++++ +........................................................=@%#############################:...-=+******+-::+=%%#=++.:@-..++#%#++........+%#####################%=..................................................................................++++++++ +......................................................:+%%##############################:................*+%%#=*+.:@=..=+*%%*%-.......=#######################%=.................................................................................++++++++ +.....................................................:#%################################-...............:#*%%#-#+.:@=..:**%%%*=.......=########################%:................................................................................++++++++ +....................................................-#%################################%=...............=#**#%*%+..+=...=#+#%+=.......+########################%*:...............................................................................++++++++ +...................................................=@%##################################=...............:#++*+*#:..+=....=++++*:......*#########################%#...............................................................................++++++++ +..................................................=@%###################################+................++#*=%:...+=.....=#=-=*:.....*##########################%-..............................................................................++++++++ +................................................:+%#####################################+................-#==%=....+=.....-*====+:...:############################%=.............................................................................++++++++ +................................................+%######################################*...............:*+-=%+....+=.....*+==-=+=...-#############################%=............................................................................++++++++ +...............................................=%#######################################*...............+=--==%-...#-....:*======*:..=##############################%-...........................................................................++++++++ +..............................................=%#########################################:.............-*-----*+..:@-....:*===*+=*:..+################################:..........................................................................++++++++ +.............................................:%##########################################:.............*=-----=%:.:@-....-*-++*+-*:..*###############################%#..........................................................................++++++++ +............................................-%###########################################-............:*===---=%=.:%:....-*-**%%%*..:#################################%=.........................................................................++++++++ +............................................*############################################-............-*======-#+.:#:....-####=:--..-##################################%-........................................................................++++++++ +...........................................*#############################################=............++=*==+#-#+.:#:....:=-:.......=####################################:.......................................................................++++++++ +..........................................#%#############################################+............+=-#===#+@+.=#................+###################################%#.......................................................................++++++++ +.........................................#%##############################################*............*=+#===%%+:.+*................*####################################%=......................................................................++++++++ +........................................#%################################################:...........-*+**#%#:...+*...............:######################################%=.....................................................................++++++++ +.......................................-%#################################################-...............:+#:....++...............-#######################################%:....................................................................++++++++ +......................................-%##################################################=................=+.....++...............+########################################*:...................................................................++++++++ +.....................................:@%##################################################+................++.....++...............*########################################%+...................................................................++++++++ +.....................................#%####################################################:...............*+.....:+..............:##########################################%=..................................................................++++++++ +....................................=@######%%##%%#######################################%@-...............*+.....:#:.............:*##########################################%:.................................................................++++++++ +....................................@%##%%##*+==+%######################################%@#*...............#+......*:.............:+############################################:................................................................++++++++ +...................................=@%##*+==--==+%######################################@#:#:..............#:......+=.............:-###########################################%#:...............................................................++++++++ +..................................-@%#+========-#%#####################################%#::%=..............#:......-*..............:+###########################################@#...............................................................++++++++ +.................................-@#+=--=======+%#####################################%@=..+*.............:#:.......+:..............-############################################@=..............................................................++++++++ +.................................@*----========#######################################@+...+#:.............#:.......+=...............+%##########################################%@:.............................................................++++++++ +................................-%=---=+++====*%#####################################%=....+#-.............*:.......:*...............:############################################%+.............................................................++++++++ +................................#*---=*%#**===%#####################################%#.....:%-.............*:........*-...............+%###########################################%-............................................................++++++++ +...............................-%=---+%*%**==*%#####################################%:.....:%-............:#:........-*...............-############################################%#............................................................++++++++ +...............................+#===-#++%**=+%#####################################%=......:%:............-%:.........+-...............*############################################@=...........................................................++++++++ +...............................%+====%:###+=######################################%#.......:%:............:%:.........:*:..............=###################################%%%%%%#%%@@+:.........................................................++++++++ +..............................-%=-==+@#%##-+%#####################################@:.......:%:............:%:..........+=..............:##################################%*========++#+.........................................................++++++++ +..............................+#=-==+@##%==#%%%%#################################%=........:%:............:%:..........:#...............*#################################*============%-........................................................++++++++ +..............................@*===--***+==@#++*@@@%%%##########################%+.........:%:............:@:...........+=..............=##################################======-=====*#........................................................++++++++ +..............................@+===--=**++#@:...:::=++%%%########################:.........:#:............-@:...........:#..............+##################################====-=+++=-==#:.......................................................++++++++ +.............................:%=====-=*%##+-..........:+#@%####################%-..........:#:............-@:............+=............-=*################################%=====#@##=--=*+.......................................................++++++++ +.............................+%======*%#-................:+@@#################%+...........:#:............:@:............:+:.........:=-.+################################%+===#*%++#-===%:......................................................++++++++ +.............................+#====+*+*-...................:+@%##############%#:...........:#:............:%:.............+=:.....::==:.:+################################%*===#*%=:%====%:......................................................++++++++ +.............................#%+=+*+-:*......................:+%%############%-............:#-............-@:.............:#==----==:..:=*%#################################===#*%::@+==-#:......................................................++++++++ +.............................:*@%+:..=*........................:#@%#########%+.............:#+=:.........-+%:..............+-.:---:.::-+++##################################===*#%**%===-#+......................................................++++++++ +.............................#%%*:::-%-..........................=@%#######%#:.............:#::=-::....:-=-%:..............:*:....::=+++=:+%###############################%+===+#@%+-==-#+......................................................++++++++ +............................**-:-:::++............................:+@%#####%-..............:%-..:--=--==-::%:...............++====++++=:..-%%##############################%*====*#=--=--#+......................................................++++++++ +...........................*+::=:...++..............................:+%%##%+...............:%+-:.........:=@:...............:#+++++=-:....:%@##################%%%%@@@@@@@@@*-==*++=====-#+......................................................++++++++ +..........................-*::+-....*+................................:#@%#:...............:@*++-:::..::-+*@:................*=--::........*#%############%%%%@#+++++++++++#%*==*+======-#+......................................................++++++++ +.........................:#-:=-.....*:..................................=@=.................#+=+++++==+++++@:................-+............+:@%######%%%@@*+=::............:+%%###+++==-=%+......................................................++++++++ +.........................+*.-=:-....*....................................:..................+=::==+++++==::%:................:#:...........=-+@###%%@@@*=:...................:##=++*%%###@=......................................................++++++++ +.........................*-:+:-:..::*.......................................................++....:::::...:%:.................+=...........-+:#@@@@#+::......................:#=.::=%=++@=.......................................................++++++++ +.........................#-==.=:.:*=+-......................................................-*............:%:.................:*...........:=.:++=:..........................##:-=+=#-..:........................................................++++++++ +.........................%+*-:+..=%=-*:.....................................................:*:...........:%:..................*-..........:#:..............................=%-.....++...........................................................++++++++ +.........................+-%++#-:##*:+%+....................................................:#:...........:%:..................++...........*:..............................#+......-+...........................................................++++++++ +...........................+-+@*-%:*+=%+....................................................:%-...........:%:..................:+:..........+:.............................-#:....::-+...........................................................++++++++ +..............................+#%%..++-......................................................#+...........:%:...................+=..........+-.............................#=::...:.-+...........................................................++++++++ +.............................................................................................+*...........:%:...................:*:.........=+............................:#:=...::.=+...........................................................++++++++ +.............................................................................................:#:..........:%:....................+-.........=+............................:+:+...=:-*+...........................................................++++++++ +.............................................................................................:%-..........:%:....................++.........-+............................+==*..:+:*%-...........................................................++++++++ +..............................................................................................++..........:%:....................+*.........-%:...........................+=+%-:-+=%%:...........................................................++++++++ +..............................................................................................+#:.........:#:....................+#.........:#=...........................++*@#+*#%@+............................................................++++++++ +..............................................................................................:%-..........#+....................+#:.........++...........................:%%=++=+=:.............................................................++++++++ +...............................................................................................+*..........=#....................+%:.........-%:...........................::....................................................................++++++++ +...............................................................................................=%-.........:%:...................+#:.........-%-.................................................................................................++++++++ +...............................................................................................:@*........::#=...................+#:.........-%+.................................................................................................++++++++ +...............................................................................................:@@-...:=**#*#+...................+%:.........=@+.................................................................................................++++++++ +...............................................................................................:@@+.:+%%%%%%@#...................+%:....:::::#%#.................................................................................................++++++++ +...............................................................................................:@@%+#%%%%%%%@@:..................+%-.:=*#%%%%%%@:................................................................................................++++++++ +................................................................................................*@%%%%%%%%%%%@=..................+@+*#%%%%%%%%%@:................................................................................................++++++++ +................................................................................................+@%%%%%%%%%%%@+..................+@%%%%%%%%%%%%@:................................................................................................++++++++ +................................................................................................=@%%%%%%%%%%%@+..................=@%%%%%%%%%%%%@:................................................................................................++++++++ +................................................................................................:@%%%%%%%%%%%@+..................:@%%%%%%%%%%%%@:................................................................................................++++++++ +.................................................................................................#%%%%%%%%%%%@=...................+@%%%%%%%%%%%@:................................................................................................++++++++ +.................................................................................................=@%%%%%%%%%@=....................:#@%%%%%%%%%@+.................................................................................................++++++++ +..................................................................................................-#@@%%%@@+:......................:+@@%%%%@@#=..................................................................................................++++++++ +....................................................................................................:=++++:..........................:+#%%@#=............................................................................................................ +..........................................................................................................................................:.............................................................................................................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................-------- +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::=#%*:::::::::::::::::::::::::::::::::::::::::::::::::::@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::=@*=*%=:::::::::+****+#@@@@@@@@@@@@@@*****=::::::::::::+@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::#*---=##***#@@@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@***=:::#@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::*#--==--*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%@#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::=%=-===--=+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@*:*@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::+#@@+-=========+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::*@@%%#--=========-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::=#@@%%%%===============+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::#@%%%%%%*=================*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::*@%%%%%%%#=======+=-=======--+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::=#%%%%%%%%%+-=====+%#=--========+%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%#=-=====*%##=-========-=#%%%%%%%%%%%%%%%%%%%%%%%*++*%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%+--=====*%*+===========-=#%%%%%%%%%%%%%%%%%%%%%***+*#%%%%@%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::=#%%%%%%%%%%%%*=--====-*%+============--=+%%%%%%%%%%%%%%%%%%%*+*****@%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%#========-+%*================%%%%%%%%%%%%%%%%%%%****+**%%%@%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::=#%%%%%%%%%%%%%%+-=========##================#%%%%%%%%%%%%%%%%%%**+++**%%%@%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%*--=========##*===============%%%%%%%%%%%%%%%%%%%**+--+*@%@@%%%#%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::#@%%%%%%%%%%%%%%#=-==========+#####*==-======-=%%%%%%%%%%%%%%%%%%@#*=::=*@%%%%%#*%%@%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%#=-===========*+*#%%#++======-=%%%%%%%%%%%%#******%*-::=##***%%**%%%%@**********+:::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%*--=========--==+#%%##======-+%%%%%%%%%%%#*+++++*##-:-+*+****%**#*+*@@@@@@@@@@@@@@@@*::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%=-========-+***=+###+======-+%%%%%%%%%%%#****++===-:----+***%*+***%%%%%%%%%%%%%%%%%@+:::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%%*-=========####+=##+++=====-+%%%%%%%%%%%%*****=::--::::-=+**#++**%%%%%%%%%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::+@%%%%%%%%%%%%%%%%%%%%%%%========-+%*+#==#*+#+=====-+%%%%%%%%%%%%*****+--:::::-=***%#++***%%%%%%%%%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%%%%%%*========*%*===+#*##=======*%%%%%%%%%%%%%*****+-:::-:-=*#%%*+*#**%%%%%%%%%%%%%%%%#:::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%+=====+*%%#+=-*###*=======#%%%%%%%%%%%%%%%###+-::==::=+**#**#%%%%%%%%%%%%%%%%#%#::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%#=======+#%#+=#%#*========#%%%%%%%%%%%%%%%##*+=-=++=-++++#%%%%%%%%%%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%+========+##*##+--=======#%%%%%%%%%%%%%%%+++++++##++++++#%%%%%%%%%%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::+@%%%%%%%%%%%%%%%%%%%%%%%%#==========#%#+--========#%%%%%%%%%%%@%@#++***++%@*++++*#%%%%%%%%%%%%%%%%%%#=::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%*--======-+##+-=========%%%%%%%%%@%%%%@%*++*++*@%%****%%%%%%%%%%%%%%%%%%%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%%%%%%%%+-========*#+-========+%%%%%@@%%%%%%%@@#*+**#%%#%%%%%%%%%%%%%%%%%%%%%%%#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%%#========-=#+-========+@@@@@@@@@@@%%@@@@%%%%%%%###%%%%%%%%%%%%%%%%%%%%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%*========-*+--=======+@@@@@@@@@@@@%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%@%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%%%=-======-=*--=======*@@@@%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*#%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%@#-========+=-=======*@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*++#@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%@@@@+-=======---=======#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+++++#@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%@@@@@%%%@#=----------=====+*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*++++++++**+::::-@@::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::*@%%%%%%%%@@@@@%@%%%%%@%@@@@*==++++++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+++++++++++*##*++%#@+:::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::-@@@@@@@@@@@@%@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*++++++++++++++++**+*%=:::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::*@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*+++++++++++++++++++++##::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**+#++++++++++++++++++++*%=::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*++++*#+++++++++++++++++++#*:::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*+++++++#++++++++++++++++++##::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*+++++=++++**++++++++++++++++*%=::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*+++++++=-=+++*#+++++++++++++++*%#%=:::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####+++++++++=--++++#++++++++++++++#%##%@=::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**++*#++++++==+=--++++#*+++++++++++*#%@*:+@@=:::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%**++++++*#++++++-=++--++++*#++++++++++**%%%@::=@@:::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*=--+**+++++++#++++++==++==++++*#+++++++**#*+#%%@*:::##::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::+#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######+++*:::--+*##*%**#+++++++++++++++++#**+++*##*+++*%%%@=:::##:::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***++++**+++*=:::::-=*#@%*#+++++++++++++++++#*%###*++++++*%%%%*::::##::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::-@####%%%%%%%%%%%%%%%%%%%%%#%#**#**++++++++++++**++++*::::=*%@@@@@@#*+++++++++++++++#*#*++++++++++%%%%@=::::##:::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::*#+**+++++***********##*++++#-:-**+++++++++++++***+++*=:=#@@@@@@@@@%%%*+++++++++++++#*#*++++++++++#%%%%#:::::##::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::##++*+++++++++++++++++**++++**:--=*+++++++++++++**#*++***@@@@@@@@@@@%%%%*++++++++++++#**#++++++++++*%%%%@*::::=@#:::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::##++**+++++++=+++++++++**++++*=-:::+*++++++++++++**##++*%@@@@@%%%%%%@#%%%*++++++++++++#*+#+++++++++++%%%%%@=::::=%#::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::=%*+++#+++++++=-=++++++++**++++#--:::=*+++++++++++++*#%**#%@@%%%%%%%%%%*+*%*++++++++++++#*+*+++++++++++#%%%%%@-::::+%#:::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::=##*+++**+++++++=-=+==+++++**++++*------+*++++++++++++**%%#%%%#%%%%#+#%%%#+*#+++++++++++++#*+**++++++++++*%%%%%%@=::::#%#::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::+@@%#*+++++#+++++*++=-=+=++++++**+++##=+##%%%%##*+++++++++**#%%%#+*@%%%+:*#%%#+*#+++++++++++++%*+**+++++++++++#**%%%@@=:::=###:::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::=*%*+++++++*++++#%+++=+++++++++**+++#%@@@@@@@@@%#++++++++++*#%##*++%%%%+-::+##+**+++++++++++++#*++*+++++++++++*%%%%%%+#*:::=##+::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::=%*+++++**+++#%#+++++++++++++**++*@@@@@@@@@@@%%*++++++++++*#+:+**#*%%*:.-+##++++++++++++++++*#++*++++++++++++*%%%%*-*@+:::+###:::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::=%*++++*+++*#*#++++++++++++++*+*%@@@%@%%%%%%%%#+++++++++++**..:-##**:..-+*#++++++++++++**++*#++*+++++++++++++#%#+*#@*=::::%#%#::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::=##****+++#**#++++++++++++++#*%@@@*=@%%%%%%%#*++++++++++++*=...++==:::-+*#++++++++++++%*++*#++*#*+++++++++++*#*%#=:::::::=%#%*:::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::*%@%*++*%%%%++++++++++++++##@@@*:-@%%#*%%%++*++++++++++++*-..-*++====**#+++++++++++*%#++*#++*##*+++++++++++*%=::::::::::###%=::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::*@*++#*%@@*+++++++++++++*%@@#:.:%%%+:=+%*:=**+++++++++++*-.:*+==---**#+++++++++++###++*#++*#*#*+++++++++++#=::::::::::=%*#%=:::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::=%++*%%@%%*+++++++++++++*%@@=...#%*:..-**:.-+**+++++++++*#+:++=-::-*##++++++++++*###++##++*#**#*+++++++++++#:::::::::::+#*#@=::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::*%++*@@%%%%++++++++++++++#%#+...*#+...==+:...-+*********#+-.:*=:::=#*++++++++++*####++###+*#***#*++++++++++**:::::::::::%*###::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::*%++%%%%%%%*+++++++++++++*#**...=*+-..-=+-.....:-==+++=-:....=*--=#*+++++++++*###*##+*#%%+*#****##*+++++++++*#::::::::::####%*:::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::*#+*%%%%%%%%*++++++++++++*##=...:+======+-....................:=*#*++++++++*##+*%*##+##@@**%******#*+++++++++#=:::::::::=%*##%=::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::*#+*%%%%%%@@%+++++++++++++##*....++==--=+-.....................:+##******##*++++####*%%#*#*@#******##*++++++++#=:::::::::##**##::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::*#+#%%%%%%#-##+++++++++++++##:...:*=-::-==.......................:-=++%#*+++++++##%#%%%:*%#*%*******##**+++++++#=::::::::+%**#%=:::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::*@%*%%%%%%#::+##*+++++++++++*%=....-*---:==...........................:*+++++++++*%@%%#=:*@%:##********##**++++++#=::::::::%#*##@:::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::=@%%*%%%%%%=::+*#%*+++++++++++#*.....:=====-...............:-..........:*++++++++++%%%*:::+@=:=%**********##*+++++*%=:::::::##*##@=::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::=@%%%#%%%%%*:::%*%=#%#++++++++++#*=.......................:-=:..........=*++++++++++%#=:::::::::+#**********###*++++*%=::::::+%*##%*::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::@%%%%@@%%%#::::#*#::*@##***++**#%+:.................:--===-:...........:*+++++++++++#=:::::::::::%#************###*++*%=::::::%##*%#::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::#@%%%%%%%%%=::::*#=:::@***##%#%#*%=...............:-==.................:#*+++++++++++*+:::::::::::=%**************###***%*:::::%##*#@::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::=@%%%%%%%%%#::::+*%::::##++*#+++++*#...............:-:.................-%%+++++++++++++*::::::::::::##****************###*%+::::@#**%@::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::*%%%%#%%%%%=::::+*#::::=%++#*++++++#=................................:*%*#+++++++++++++%:::::::::::::##********************%%#+*@###%#::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::%%%%%+*%%%@:::::##*:::::@**#++++++++#-..............................=#*-#*++##*++++++++#+::::::::::::=##********************##################*++=::::::::::::::...................................++++++++ +.........................::::::::::::::::::::+%%%%%#%%%%@:::::%%+:::::###*+++++++++#*-.........................:=#@*:=#++#==#*#*+++*+*#::::::::::::::%#***************************************####*+=:::::::::...................................++++++++ +.........................::::::::::::::::::::#%%#%%%%%%@@:::::#%::::::*%*+++++++++++@@*=::...................:=*%%%@@%++#=.-**=+#++*++#::::::::::::::-%#******************************************####%%+:::::...................................++++++++ +.........................::::::::::::::::::::%#%%%###%%#%::::+#@::::::*%++++++++++++%*:++*+=::.............:+***%%%%%**#+..::...+***++#+:::::::::::::::####*******************************************###%#+::...................................++++++++ +.........................::::::::::::::::::::#-**++++**+@::::+#*::::::#*++++++++++++#*:::::+##*+=-------==+##*+#%%%%#**-.::.....:#***+*#::::::::::::::::+%##*********************************************##%%+:..................................++++++++ +.........................::::::::::::::::::::%+*%%@@@@%%@::::+#*:::::=#+++++++++++++#*:::::::::*@@@%#%#+==##***%%%%#*#-.:=:.....:#***++%:::::::::::::::::=#%#*********************************************#*##%#-................................++++++++ +.........................::::::::::::::::::::*@#+::::::##::::##*:::::%*+++++++++++**%@@*+::##-*@@%@#***#**#+*%%%%%%**+:.==:.....-#**##+#+::::::::::::::::::+%%########***##***********************************##%+:..............................++++++++ +.........................:::::::::::::::::::::+::::::::::::::@%*::::*#+++++++++++#*+=+++###+*@@%%%%###**#*+*##%%%%#+#-..==-:....-#*##%+*#::::::::::::::::::::+*@%%%%%%%%%%%##********************#####**********#%#-.............................++++++++ +.........................::::::::::::::::::::::::::::::::::::%%*::::%*++++*++++++#:.....:+*::#%%%%%%%######%##%%%%**#::-+#*-....:##*#@*+%=::::::::::::::::::::::::+********@%%#*****************###%%%%##********#%#-............................++++++++ +.........................::::::::::::::::::::::::::::::::::::%#*:::+#++++**++++++#-......:-..+%%%%%@%%%%%%#%#%%%%**#%*#%%%%#*-:..*#*%@#+#*:::::::::::::::::::::::::::::::::%#@@%##*****************#%@%#%%#*******#%#:...........................++++++++ +.........................::::::::::::::::::::::::::::::::::::%#*:::+*+++***+++++*#=......::..-#%%%%%#**####**%%@##%%%%%#%##%%#*=:=%#%%%+*#::::::::::::::::::::::::::::::::#%#=:+#%#****************##%@-:+#%#******#%+...........................++++++++ +.........................::::::::::::::::::::::::::::::::::::%##:::#++*#***++++**#+...::-=:...-%%%%%%*++**++*@@%%%%%%%%%%%%%%%%%##%#@*%**@::::::::::::::::::::::::::::::*@@+:::::=#%#****************#%#:::*%#******#%:..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::%#@::=*++#%#**+++***%=.:+#%%%#*=::#%%%%%*+*%##*#@%%%%%%%%%%%%%%%%%%%%%%@%@**@:::::::::::::::::::::::::::=*@#*=::::::::=###***************#%#::::=*#****#%=..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::%#%=:#*+##%#**++****%=*#%%%%%%%%*+%%%%%%#*%#+*#@@%%%%%%%%%%%%%%%%%%%%%%%%%**@:::::::::::::::::::::::::::=*=:::::::::::::=%#***************#%=:::::+##***%*..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::%#%*:%+###%#******##%%%%%%%%%%%%%%@%%%%%%%*+**#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%*::::::::::::::::::::::::::::::::::::::::::::=##***************##::::..=%##*#@:.........................++++++++ +.........................::::::::::::::::::::::::::::::::::::%*##:#*%#*#%#***#%%%%%%%%%%%%%%%%%%%%%%%%#++**%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%@#=::::::::::::::::::::::::::::::::::::::::::::##***************%=:::...=%#*#%:.........................++++++++ +.........................::::::::::::::::::::::::::::::::::::%*#%-###**#%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%*+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::##**************##:::....=%##%:.........................++++++++ +.........................::::::::::::::::::::::::::::::::::::@#*%*%%#**#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::##**************%:::.....=%#%:.........................++++++++ +.........................::::::::::::::::::::::::::::::::::::*###@@%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=::::::::::::::::::::::::::::::::::::::::::::##*************#=::......+%%:.........................++++++++ +.........................::::::::::::::::::::::::::::::::::::+%**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=:::::::::::::::::::::::::::::::::::::::::::=%#************##::......:@%:.........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::=#************#%::......:@@:.........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%@::::::::::::::::::::::::::::::::::::::::::::##************%::......:@@:.........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::=@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*%*==**==#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::%************%::......:@+..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+====*###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::*#***********%::.......-:..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#====###+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+::::::::::::::::::::::::::::::::::::::::::::=%#**********%::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::=%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**+====+*++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::+#*********##::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::##*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=*+##+#**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::=#*********#+::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::=%#**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%####=%#***%%%%%%%%%%%%%%%%%%%%#***#%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::%*#******#%:::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::*#***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%*#+#%#=#****#%%%%%%%%%%%%%%%%##*******#%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::%##******##:::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::%#****%%%%%%%%%%%%%%%%%%%%%%###*****%%%%*#*=+=*#*****%%%%%%%%%%%%%##************#%#%@:::::::::::::::::::::::::::::::::::::::::::::::%##*****#%=:::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::*%*****#%%%%%%%%%%%%%%%%##************#%***#*+*#**##**#%%%%%%%%%%#******************%#:::::::::::::::::::::::::::::::::::::::::::::::%#******%#::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::%#*****#%%%%%%%%%%%%%#****************###%%#####%@@@#**%%%%%%%#*********************%*:::::::::::::::::::::::::::::::::::::::::::::::%***#**##:::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::*%*******%%%%%%%%%%#*******************%#@%%%%*#@%#*#@**#%@#*************************%*::::::::::::::::::::::::::::::::::::::::::::::=%*****#%=:::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::%#*******%%%%%%%%#********************##%@***@%@@###@%****%**************************%*::::::::::::::::::::::::::::::::::::::::::::::*#****#%=::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::=%#*******#%%#%#***********************#*#@%%@@%%@@@@%*****##*************************%*::::::::::::::::::::::::::::::::::::::::::::::%#*##%#::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::##********#@@#*************************%***%%%#************##*************************%=:::::::::::::::::::::::::::::::::::::::::::::##*##%*:::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::%#*****##*###%*************************%***********#%%#*****#*************************#:::::::::::::::::::::::::::::::::::::::::::::#%#%%#=::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::=%*****%@#***#%*************************%**#%@%#***%@@%%%****#*************************%::::::::::::::::::::::::::::::::::::::::::::%@@#+:::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::##****##*#****##************************%*#@%%%@#*%@#***%#***##************************%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::%#***#%=+#****##************************%*#@***#@#@%****%#****#************************@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::+%***#%=:+#***#%*************************%*#%***#@%#@@%%%@#****#***********************##::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::*#***##::+%***##*************************%**%@%@@%***#%%%#*****##**********************#*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::##**#%::::%***##************************##***#%%#***************%#*********************%+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::%#**%=::::%#**##***********************##*******#%%##***********#%*********************%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::+%**#%:::::##**#%#*********************##******#%%%%%%%#***********%#*******************%-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::*#**#*:::::+#*#*###******************#%#******#%%%%%%%%%************%******************%#@%%%@%+*=::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::##*#%:::::::%***####****************%%********%%%%**%%%%#***********#%***************#%%##*****##%%%++::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::@#*#+:::::::##*#***###************#@@#********%%%%==%%%%%************%#************###***************##%#*=:::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::%#*#+:::::::=%*****#*####*******%%@@#*********%%%%##%%%%%*************#%@%##########********************##%%#+::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::%#*#:::::::::##***##***##%#*##%%%%%%**********%%%%%%%%%%%**************#@%%***#****#*************************#%#+:::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::%#*%:::::::::=%*********##%%##%%@%%************%%%%%%%%%***************%%%%*******#*****************************##%#=:::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::@##%::::::::::##*********####%@@%%#************#%%@@%@@#***************%%%%#***************************************##%++::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::*#*%:::::::::::##**********#%%%%%%*************%+####%%#**************#%%%%%*******************************************#%#*=::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::=%##::::::::::::###*******#%%#%%%%************#%+%***###**************%%%%%%**********************************************#%%*::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::#%#+::::::::::::#%#*****#%###@%%%************%**#****##**************%%%%%%%************************************************#%+::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::#%*:::::::::::::=#%%###%####@%%%***********#%+#****##%*************%%%%%%%%#**************************************************%#::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::#@::::::::::::::::++#%####%%%%%%**********%#=#****##%#***********#%%%%%%%%%***************************************************#%*::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::#+::::::::::::::::=@#####%%%%%%%********#%*+#****#*%%**********#%%%%%%%%%%#****************************************************#%*::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::@%#####%%%%%%%%*******%%+******#*%%#*******#%%%%%%%%%%%%%#*****************************************************%#=::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::=#%######%%%%%%%%%*****#%#=#*****#*%%#******%%%%%%%%%%%%%%%%#*****************************************************#%*:::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::#%#######%%%%%%%%%%****%%#=#*******%%##****%%%%%%%%%%%%%%%%%%%******************************************************#@=:::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::#%########%%%%%%%%%%%#*#%%+********##%#*#*#%%%%%%%%%%%%%%%%%%%%#******************************************************#@:::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::*%#########%%%%%%%%%%%%%%%#=#*********%%**#%%%%%%%%%%%%%%%%%%%@##%******************************************************%*::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::*%##########%%%%%%%%%%%%%%%#=#*******#+#%#**%%%%%%%%%%%%%%%%%%%%###%#****************************************************#@::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::=%###########%%%%%%%%%%%%%%%*+#**********%%#+*#*#%%%%%%%%%%%%%%%%####%%****************************************************%=:::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::=@############%%%%%%%%%%%%#%%+*%#########=#%%#=+--=*%%%%%%%%%%%%@%######%#**************************************************%*:::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::%%#############%%%%%%%%%%##%#+#%%#*=:==+=++#%##++=::=*%%%%%%%%%%@#%########*************************************************#@:::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::#%##############%%%%%%%%%%##%#=*=-:...-++:+=*%%%#+++=::-*%%%%%%%@#:#%########*************************************************%:::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::+%###############%#=+++++=**%%*++......-*=.:+=#%%%#*++*+=.-+%%%%%@=::#@%######%#***********************************************%=::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::=%##################.......+#%%*+=......-#-..-==#%%%%#+#*#-:-#%%%@#::::*@@%#%%@@@#**********************************************%*::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::=####################:.....:+#%%+*-......-#:...===*#%%%%**=***==+*%#:::::=*@@@#****%#********************************************%*::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::#%###################=.....=+#%#+*:......:=....:=+=+*#%%*#===---=-*@:::::::=+::::::=%#*******************************************%*::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::*%####################+.....=+%%#+#:......:-......=+===#+=+*+=---+=+@::::::::::::::::=*#******************************************#*::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::=%#####################*....:+*%%#+#:......::.......:=+*#*+==*-=*==**@::::::::::::::::::##*****************************************#*::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::-%#######################:...:+*%%#*#:......-...........::...:#--=*+=%*:::::::::::::::::::##****************************************%*::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::%########################-...-+*%%%#*.......-.................++---**%=::::::::::::::::::::##***************************************%*::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::*%########################=...==*#+*++.......-.................:++=-=%#::::::::::::::::::::::=#**************************************%+::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::-%#########################*...+*##***-......::...................*%###::::::::::::::::::::::::=%#************************************%:::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::%###########################:..=#==+=*-......::...................#=::::::::::::::::::::::::::::+#*****************%#*****************@:::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::*%###########################-...+*+-=*#*-....-...................=#::::::::::::::::::::::::::::::=%***************#*##***************##:::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::=%############################=....=*-=--=*+...-..................:%=:::::::::::::::::::::::::::::::=%#************#*==##**************%*:::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::%#############################*....+=--=*==#:..-..................**:::::::::::::::::::::::::::::::::-%#***********#====***************@=:::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::#%#############################*:..:*==-=+#*+..:-.................=#::::::::::::::::::::::::::::::::::::##*********#======#************##::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::=%###############################-..:*====-=#-..::................:*::::::::::::::::::::::::::::::::::::::%#*******#+-=====+#***********%+::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::#%###############################+..:+=*+=++*...::................*=:::::::::::::::::::::::::::::::::::::::##*****#*=-=====-***********#@:::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::=%################################*:..+=+*=**-...::...............=+:::::::::::::::::::::::::::::::::::::::::%#****#========-+#*********%*:::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::###################################-..-+=+#*:....::..............-#::::::::::::::::::::::::::::::::::::::::::=%***#===========#********#@::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::=%##################################+...=**=:.....::..............+=:::::::::::::::::::::::::::::::::::::::::::*%*#+-==-=++====+#******#@=::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::=@####################################:...::.......--.............:*=::::::::::::::::::::::::::::::::::::::::::::#%*=-===#@@*+=--#******%#:::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::#%####################################-............:-.............:=*=:::::::::::::::::::::::::::::::::::::::::::*#=====+@=#%*=--+#****%@::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::@#####################################*.............................-*=::::::::::::::::::::::::::::::::::::::::::**=====*@:=@#+--=#***%@=::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::*%#####%################################:.............................-%=:::::::::::::::::::::::::::::::::::::::::+#--===*@::@**---#**#@=:::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::@%#####+#%##############################=............:................:+#=:::::::::::::::::::::::::::::::::::::::::%=====+@::%**--=*##@=::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::=%###%#==*%##############################*............::...............-=-%:::::::::::::::::::::::::::::::::::::::::*#=====%*#%**===+%@=:::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::#%##%*=-==%###############################:...........:=...............=-.+#:::::::::::::::::::::::::::::::::::::::::%=-===*%@##+-===%*::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::@##%*=====%###############################:............=:.............:=.:+##::::::::::::::::::::::::::::::::::::::::#+=====+%%#=====%=::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::+@#%*--====###########################%%%%%-............--.............--.-+++=:::::::::::::::::::::::::::::::::::::::=*=====-=*++-==+%:::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::*%%+=======*%#####################%%@#***=#-............:+:...........:=..=+--#=:::::::::::::::::::::::::::::::::::::::%=======+-+==-#*:::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::@@*--=======%#################%%%#+:::::::@=.............#+..........:=:.:++:::*:::::::::::::::::::::::::::::::::::::::*========+-*-*#::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::@*=---======################%%*=::::::::::*=.............#%=........-=:..=*=...-*::::::::::::::::::::::::::::::::::::::++-======+=**#:::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::##-----++=--=*%###########%%@*:::::::::::::+=.............#%%=......--...-++:....-+:::::::::::::::::::::::::::::::::::::=*-====--+*#=##=:::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::+@+----=**#*-=+%##########%@*:::::::::::::::+=.............#*=%=..:-=-...:++-.....:++:::::::::::::::::::::::::::::::::::::#-====--**:---#=::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::*%=--=*@@#+#===########%%#=:::::::::::::::::+=.............#*:=#*+=-....:++=.......:*=::::::::::::::::::::::::::::::::::::%===--+#=--=..-*::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::*%=--=%*-@**+=-*%#####@@=:::::::::::::::::::*+.............**:::##-....:++=:........:%=:::::::::::::::::::::::::::::::::::%===*%##+:.....=+:::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::=%=--=@*:*##*=-=%###%@*:::::::::::::::::::::**:............**::::=*=::-++=:..........=@:::::::::::::::::::::::::::::::::::+#%@*=:**.......#:::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::%+--=%*:*%#*=-=#%%@#=::::::::::::::::::::::+#=:..........:#*::::::##*++=::..........:##*=:::::::::::::::::::::::::::::::::==::::**.....:.++::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::@+--=#*:*%%+===*@@*:::::::::::::::::::::::::+:=-:.......:=**:::::::*%+-..............-*%@=::::::::::::::::::::::::::::::::::::::**.....+.-#::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::#*---+%*@%%====#@=::::::::::::::::::::::::::*:.:-=------=-=+::::::::=*=:..............:*%%=:::::::::::::::::::::::::::::::::::::*-.-...*.-@::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::*#--==+##*++===%@:::::::::::::::::::::::::::#-....::::::..=*:::::::::=#+...............+%%@::::::::::::::::::::::::::::::::::::*=..+..:+.-@::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::=%=-==-==*==*+%#::::::::::::::::::::::::::::%+=:........:-**:::::::::::#+:.............+%%@::::::::::::::::::::::::::::::::::=#=..:+..-=.**::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::%+-======*=###:::::::::::::::::::::::::::::%+++=-:::--=++#*::::::::::::#*:............+%%@::::::::::::::::::::::::::::::::=#*-..:--.-*:-%:::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::**======-=*%=%*::::::::::::::::::::::::::::*-=++++++++++=+*:::::::::::::#*:...........*%%@:::::::::::::::::::::::::::::::=%+:.:-*#:-#+=#*:::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::=%======-=#=:+#%#+*+*%%::::::::::::::::::::+-.:-=====-::.-+::::::::::::::#*..........:#%%@:::::::::::::::::::::::::::::::#@*++#%%%#%@*%=::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::#+=====-*=.==::-=*+=+#::::::::::::::::::::+-............-+:::::::::::::::#+.....:---+%%%@::::::::::::::::::::::::::::::::+***=:#*+:::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::=#=====*%-==.....=++##::::::::::::::::::::+=............-+::::::::::::::::#+...-*%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::#+===+%@-.......::=##::::::::::::::::::::=+............-+:::::::::::::::::*-.-#%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::=%+=+%**-.--....:+%#::::::::::::::::::::::+............:+::::::::::::::::::#+%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::=%#%#:+-.:+.....:#*::::::::::::::::::::::*............:+::::::::::::::::::*@%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::=*+::+=..+-....:#+::::::::::::::::::::::#:...........:+::::::::::::::::::=@%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::=*:..=++==#*:::::::::::::::::::::::*:...........:=:::::::::::::::::::*%%%%%%%%%@@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::#-...-+%@*::::::::::::::::::::::::+-...........:*:::::::::::::::::::=@%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::=%:....:*:::::::::::::::::::::::::+=...........:%::::::::::::::::::::*%%%%%%%%@+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::=#=::-*%::::::::::::::::::::::::::=...........:#::::::::::::::::::::+@%%%%%%@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::#%%%*:::::::::::::::::::::::::::*...........:#:::::::::::::::::::::#@%%%@@=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........#::::::::::::::::::::::#@@@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*:...........*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+-...........*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@*......::==-**::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@%+...-*#%%%%%*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%%+-*%%%%%%%@@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+@%%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#%%#++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#*%*******@@@@@@@@@@%%%%@@@@@#*****=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%==+%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@***=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*@@%+--==+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@*+:==::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#@%%%+-======*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::=#@@%%%%+-========+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::=*#@%%%%%%*-====-====-=+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%#-====*=--====-=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@*=+=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::=#%%%%%%%%%%#=-===*%#=-=====--+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@@%+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%%#=-====###*=======--=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%@@#*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::=*%%%%%%%%%%%%%=-=====##==========--=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%+=======##==============%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%*-=======##============-=%%%%%%%%%%%%%%%%%%%%%%**#%%@@%%%%%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%#=========*#+===========-+%%%%%%%%%%%%%%%%%%%%#****%%@%%%%%%+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................-------- +.........................:::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%=-========+##++==-======-*%%%%%%%%%%%%%%%%%%%%*****#@%%%%%%%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................:::::::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%===========**###*=-=====-#%%%%%%%%%%%%%%%%%%%#*****#@%%%#%%%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%*-=======---==#%%#++===--#%%%%%%%%%%%%#*+**#@*+=+**#%%%%**%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%=======-=+++=+#%##*===--%%%%%%%%%%%%****++*%*=--+*%@%@#**%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%+-=====-+###*=*##+====-=%%%%%%%%%%%#***+**+#*-:-+#%#*%#**%@@#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%#-======##*#*=+#*++===-=%%%%%%%%%%%%****+==++--=+***+*##*%##%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%%%%%====+=*%*=++=##+#*===-+%%%%%%%%%%%%#***=-:-------=***##***+#@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::+@%%%%%%%%%%%%%%%%%%%%%%%%%*-===*#%#+==+####=-===+%%%%%%%%%%%%%#*+=-:::::---+*+*#****%%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%-==-=*###==*%%#*=====*%%%%%%%%%%%%%%%#*+-:::::-+#%#%#***#@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%+-==-==*#*+###+=====-#%%%%%%%%%%%%%%@%#+::-=-::=**##*****@@#=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%%%%%%%%#=======*###*=--====-#%%%%%%%%%%%%%%#**+--=++--+***##%#*#%%%@@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%========*%#=-=======%%%@@@@@@@@@@@#++**++*#*++****%@%%%%%%%%%@@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%*-=====-+##=========@@@@@%%%%%@%@@*******%@******#%%%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%%#========##========+@@@@%%%%%%%%@@******#%%%****%%%%%%%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%+-======**========*@@@@@%@%@@@@@@%****#@%%%@%%%%%%%%%%%%%%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%@@@@*-=======*========#@@%@@@@@@@%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%@@@@%%@%%%========*======-=%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::*@%%%%%%%%%@@@@%%%%%%%@@@@@*-====-======-==+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::=@%%%%@@@@%%%%%%%%%%%%@%@@@%=-=--====++**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*%-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::=@@@@@@%%%%%@%%%%@@@@@@@@@@%*######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#**++++#*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::=#@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**+**++++++*%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*#*++++++#*++++++#*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**++++**+++++++#++++++*#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*+++++++++*#+++++++**++++++%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**#+++++++++++++#++++++++**+++++#*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%##*++++#+++++++++++++*+++++++++**++++*@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*##**+++++++**++++++++===+**+++++++++#*++++%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***+++*=**++++++++++#+++++=++--=+**++++++++++**+++%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###****+++++++++*==*++++++++++#++++=-++=--++*+++++++++++**++#*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######**#+*++++++++++++++++++:=#+++++++++**+++==++=--=+*++++++++++++***#*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::++++#%##%#########*******######*+*+=*+++++++++++++++++*-:=*++++++++**++++++++--++**+++++++++++++*%#=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::*#+*#+++++++++++++++##*++++++*--*++++++++++++*++++*=-:=**+++++++*++++++++++++**+++++++++++++++*#%@%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::**+#++++++++++++++++**++++++*=--*++++++++++++**+++*+:::-*#++++++#+++++++++++++*+++++++++++++++++*%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::****++++++++++++++++#*+++++**---+++++++++++++**++++*-::--=*#***+*+++++++++++++*+++++++++++++++++##:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::**#++++++==+++++++++#++++++*=---+*+++++++++++*#*+++*--=+##**%@#*#+++++++++++++*+++++++++++++++*#@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::*%*+++++=--++=+++++*#+++++*+:----*+++++++++++**%#++#%@@@@@@@@@+=**++++++++++++*+++++++++++++*##*%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::*%++++++=--+=-=++++**++++*#------*+++++++++++**##*%%@@@@@@@@@@@#+*++++++++++++**++++++++++*##*++*#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::#*++++++=-=+=-=++++#*++++#-:-----=*++++++++++**#@%%%@@@@@@@@@@@@@#++++++++++++**++*##*####*++*+++%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::#+++++++=-=++++++++#++++%+-+*##+==*+++++++++++*#@@%##@%%%%%%@@@@@%#+++++++++++**++##****+++++%*++#*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::=#*++++++++=+++++++++#+++#@%@@@@@@@%%*++++++++++*#@##*##%%%%%%%@#%@%%*+++++++++++*++*#++++++++*@%++*%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::=*%#+++++++++++++++++++#++%@@@@@@@@@@@@%++++++++++*##:=##**%#*%%%%+-%%%*+++++++++++*+++#++++++++*@@*++#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::+#%#**+++++++++++++++++++**%@@@@@@@%%%@%@@*++++++++++##:.-%#*##+#%%%*.=%#++++++++++++*+++#++++++++*%%%++*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::@@@*@%%#++#+++++*#++++++++++++*#%@@@%#%%%%%%%*=+*++++++++++*#:.:%%##*+--#%*.=%*++++++++++++*+++#*+++++++#%%%*+*#::::::=*#@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::#@##**+++**++++*%*++++++++++++*@@@@*-*%%%%%%%%-.-*+++++++++*#-.:%#+:...-***.+*+++++++++++++*+++**+++++++#%%%#++%@@@@%%%%@@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::##++++++**+++*%%+++++++++++++*@@@*:.%%%%##%%%*..+++++++++++#=.:#*+=...=+++.+++++++++++++++*+++*#+++++++#%%%%*+*%%%%+==%#::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::##++++**+++*###+++++++++++++*%@*..:%%%#-=##%*..:++++++++++*+.:*===.:.==++:*++++++++++++++*++++#+++++++#%%%%#+*%%%%+=##:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::+%*++**+++#*#*+++++++++++++*+*=..:%%#-..:*%*:..-*+++++++++*.:*===-=-==+==*+++++++++++++*#++++#+++++++%%%%%%*+#%%+=%=::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::=%%##+++#*+#*+++++++++++++++-+..:%#+:..-+**:...-*++++++++*-.+===-:--=*=*+++++++++++*++*#*+++#+++++++%%%%%%#+#%++%=:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::=#%++#%**%#++++++++++++++*.=...#++-..-+=+:....-*+++++++*+.++=:::::-*=*++++++++++*#++#**+++#+++++++#@%%%%%+*+=%=::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::*#+*%@@**#++++++++++++++*:....*===-=-==+:.....-**++++++*:=+-::::-==*++++++++++*%#++#**+++#++++++*+=@%%%%*++#=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::@*+%%%%++#++++++++++++++*-....++==--==++:......:=******#+:*--====:-*++++++++++#%*+*#**++*#++++++*+::#@@%#+%*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::=@**%##%++*#+++++++++++++++....=*=-:::-=+.........:-=++=-:.-=-::..:*++++++++++#%#*+##*#*+#*++++++*+:::=@##+#*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::*@@*%%##%+++#++++++++++++++*:...:*=:::::==........................-*+++++++++*##%%**###@#+#+++++++**:::::=#**+::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::=#@@@#%##%%+++*#+++++++++++++*+....+=::--=+:......................=**+++++++++##**##*###%@#*#+++++++**:::::::#*#::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::=@%%%@@%%%##++++*#+++++++++++++*-...--====-........................:*#*+++++*##*++###*%%%#%##*+++++++**:::::::#*%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::#@%%%%%@%%#=#+++++*#*++++++++++++*:...................................-+***%##*++++###%@%#*%@#++++++++**:::::::+*#::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::#%%%%%%%%%@:*#++++++*##**+++++++++*#=.......................:--............=#++++++*@@@#-%#*%#+++++++++**:::::::=##::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::=@%%%%#%%%%@*:+*++++++++**%%%#****##*+-................:----===-............:*+++++++#@@#:+%#*#*+++++++++**::::::::%*=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::=@%%%%%*%%%%#::+*+++++++++*@@#+****#+................:--=-...................+*+++++++%*=::+##*#*+++++++++**::::::::*#+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::=@%%%%%%%%%%@:::%++++++++++%*%*+++++*+.................::....................-*++++++++%::::###*#*+++++++++**::::::::=#+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::#%%%%%%%#%%@=:::%+++++++++#@*#++++++*+......................................:*++++++++*#::::@##*##+++++++++**:::::::::%#:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+#=%%%%%%#%@#:::=#++++++++*%+%*++++++**......................................++++++++++#*::::@#***#*++++++++*=:::::::::%#:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::++-*#*##%#@@=:::**++++++++#*+%++++++++*=....................................-*+++++++++#=::::%#***#*++++++++*+:::::::::*#:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+#####*+##%#::::**+++++++*@-#*+++++++++#-..................................-*++++++++++%:::::%#***##++++++++**:::::::::+%+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+@*+++*@#%@=::::%+++++++*#@-%*++++++++++#=...............................-*#+++++++++++%:::::%#****#++++++++*+::::::::::%+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::@#%@:::::%++++++*#%@*#+++++++++++#@*-..........................:=#@%*++++++++++*@:::::%#****#*+++++++*+::::::::::%+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::%#%=::::+#+++++#+=*%@#+*+++++++++#**%*-:....................:-*%@*##+++++++++++*@:::::%#*****#+++++++++::::::::::@%::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::%#%:::::**+++++#:..:+#*##++++++++#:::=##*=-:::...........::-+###%@%+++*+*##*++*#@:::::%#*****#*++++++++::::::::::@%::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::=%#%:::::%+++++**....:+*-=*+++++++#::::::=*%%######*#+:::::=******%*++*++#=-#+#**@:::::%******##++++++++::::::::::#%::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::*%#%:::::#++++#*:.....:-.-#+++++++#:::::::::::+*****@%*+--+#*++++**+++*++#:.##+.:#=::::%*******#*++++++%::::::::::+%::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::*%#%::::=#+++#+:......:..-#+++++++#:::::::::::::::+#@**##*#*++****+++**+#=..*=...**::::%*******#*++++++%::::::::::*%+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::*%#%::::#*++*#.......::..=%*+++*++#::::::::::::=*@@@%**+***++*##%*++*****:.-=....+#::::%********#*+++++#::::::::::*#+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::*%#%+:::%+++#=.......::-*%%%#+**++#::::::::::*@@@%%%@%%##***#%%*#++****#-.-=:....=@@-::%********##+++++#+:::::::::@#+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::*%#%*::=#+++#:.....::-#%%%%%%****+#+::::::+#@@%%%%%%@%#%%#%##%%%*++**#%=:.=:.....-%%@=:%*********#*++++**:::::::::@#+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::+%*##::+*++*%-.....-*%%%%%%%%#***+**::::*@@@%%%%%%%%%%##%%%%%#**++**#%+..:=......:%%%@+%**********#++++*+:::::::::@#+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::%##@::%++*##+....=#%%%%%%%%%%#****+:::+@%%%%%%%%%%%%%*++****+**+**#%@-...=.......*%%%@%#*********#*++++#::::::::+%#+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::@##%*+#+*#*##..:*%%%%%%%%%%%%%#***%:::#%%%%%%%%%%%%%%*+#%#*+*#+#@#%%%-...-:......:%%%%%#**********#*+++%::::::::###+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::##*#@#**#**##.=%%%%%%%%%%%%%%%#*#*%:=%%%%%%%%%%%%%%%%###*###***%@%%%%=...:=:.....:#%%%%%#**********#+++#=::::::=@#%::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::+%*#%%*##**##*%%%%%%%%%%%%%%%%%#%###%##%%%%%%%%%%%%%%@#*++*##+#%@%%%%=....==:....:%%%%%%%**********#*++#*::::::#%#%::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::@######***#%%%%%%%%%%%%%%%%%%%%@##@#*#%%%%%%%%%%%%%%%#++++***#%%%%%%=....:+-:...-%%%%%%%#**********#*+*+:::::=%###::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::#%####***#%%%%%%%%%%%%%%%%%%%%@@%#%**#%%%%%%%%%%%%%%%%*+++#*#%%%%%%%-.....:-::..-%%%%%%%#**********##*+%:::::@###+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::#%##***%%%%%%%%%%%%%%%%%%%%%%%%@###*#%%%%%%%%%%%%%%%%%***##@%%%%%%%-......:::..+%%%%%%%%#***********#+#=:::#%##%:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::%##*#%%%%%%%%%%%%%%%%%%%%%%%%@%%#%##%%%%%%%%%%%%%%%%@%#%##%%%%%%%%-..........-%%%%%%%%%%**********###**:=#%###*:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::%*##%%%%%%%%%%%%%%%%%%%%%%%%%@#%##%%@%%%%%%%%#*++*%%%+=%#%%%%%%%%%=..........*%%%%%%%%%%#***********##%*@%#*#%=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::+#*#%%%%%%%%%%%%%%%%%%%%%%%%%%%**%##@@%%%%%%%*=+*+=+*+==*%%%%%%%%%%#:........+%%%%%%%%%%@#**********#*#%%##**%#::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::##*%%%%%%%%%%%%%%%%%%%%%%%%%%%##**#%@%%%%%%%#=+%##*=====*@%%%%%%%%%%+.......=%%%%%%%%%%%%%#************##***##:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::=%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%*##***%%%%%%%%#=+%##*-====*%%%%%%%%%%%%=.....-#%%%%%%%%%%%###*************####%::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::###@%%%%%%%%%%%%%%%%%%%%%%%%%%***%***%%%%%%%##+=+++=*====*%%%%%%%%%%%%%=...:#%%%%%%%%%%%%**##*************#%#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::%#%%%%%%%%%%%%%%%%%%%%%%%%%%%****##**#%##*****##*+*%#=##+*%%%%%%%%%%%%%%+::*%%%%%%%%%%%%%***%#*************%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::+##%%%%%%%%%%%%%%%%%%%%%%%%%%******%*************###%++%###%%%%%%%%%%%%%%%%*%%%%%%%%%%%%%#***##*************##=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::##%%%%%%%%%%%%%%%%%%%%%%%%%#*******##***************%=##*%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****##************##%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::=%#@%%%%%%%%%%%%%%%%%%%%%%%#*********%***************%=+%##+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#******%#************##%=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::###%%%%%%%%%%%%%%%%%%%%%%%***********##**************#*==++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******##************###%=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::%**#@%%%%%%%%%%%%%%%%%%%#*************%**##***********#*==*%#%%%%%%%%%%%%%%%%%%%%%%%%%%%#********%#**************#%-::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::+#**#%%%%%%%%%%%%%%%%%%%#**************##*##************#%##**%%%%%%%%%%%%%%%%%%%%%%%%%%#*********##***************#%=:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::+#***#%%%%%%%%%%%%%%%%#*******************##******************#%%%%%%%%%%%%%%%%%%%%%%%%%***********%#*************#*#%=::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::#*****#%%%%%%%%%%%%%%#********************#*******************#%%%%%%%%%%%%%%%%%%%%%%%%************#%*************#%#*%=:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::=#*****##%%%%%%%%%%%%**********************#********%@@@%*****%@@%@%%%@%%%%%%%%%%%%%%%%#*************%#************#%@#*%=::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::+#*******#%%%%%%%%%#***********************#*******%@%##%@#**%@%@%%@@%%%%%%%%%%%%%%%%%#*************#%*************##@%###+:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::%*********#%%%%%%#*************************#******#@#****#@*%@#*%%%%%%%%%%%%%%%%%%%%%%**************%%**************#%%%**#+::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::+#**********#%%%%%**************************#******#@******##@#**#@@%%%%%%%%%%%%%%%%%#**************#@##**************%*%#**#+:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::+#***********#%%##%************************##*******%#****#%%@%#%%@%#%%%%%%%%%%%%%%%#***************%#=%**************#+=%**##+::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::%**************##*#%***********************%#********%%%%@@%##%%%%#***#%%%%%%%%%%%%#***************#%::%#*************#+:*#***%=:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::#******************##*********************%@**********####*************#%%%%%%%%%%#****************%=::*#*************#+:=%#**#%:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::+#*******************##*******************%%%*****************************%%%%%%%%%****************%#:::+%************##+::*#***%#::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::+#********************##*****************%#*#*********************#********#%%%#**#%#*************##:::::%*************#+:::%#**#@=:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::##******#******#*******##***************%#:*#*********####*****#%@@@#*******##*****%@%#**********##::::::%*************#+:::*#*#*%*:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::%*******##*************##%#************%#=:%*********%@%%%%#**#@%#*#%#*************#@@%#********%#:::::::%#************#+:::=%***#@:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::%******#%#**************##%#**********%#:::%********%@#***#@#%@%****%%**************%@*@%#****#%#::::::::+#************#+::::##**#@:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::#******#@#***************#%@%#*******%#:::+#********%%*****#@@%***#%@%***************%*:+#%%#%@*:::::::::+#************%+::::+#**#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::=#******#@##***************#%*%%#***#%#::::##********#%#####%%%@%%@@@%****************#@:::=*@*:::::::::::+#************%::::::%#*#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#******%@%****************#%==#@%##@#::::=@**********#%@@@@%#*###%#******************#@::::::::::::::::::+#***********#%::::::+###%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#*****#%+%##**************##@:::=@#=::::=@#*******************************************%#=::::::::::::::::+#***********%*::::::=%*#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#*****##:*%*****************%=:::::::::=##*********************************************%@=:::::::::::::::+#**********#%::::::::%*#@:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#*****#*::%#****************#%=::::::::@#******************##%%%##**********************%#=::::::::::::::+#*********##*::::::::+##@:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#*****%*::=%#***************###::::::::@#****************#%%%%%%%%%**********************#@=:::::::::::::%#*********#%:::::::::+#%*:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#****#%=:::#%***************##%#:::::::##***************#%%%%%%%%%%%**********************#@=::::::::::::%**********%#::::::::::%%+:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#****#@:::::##***************##%*::::::+%**************#%%%%@%%%%%%%**************%#*******#@*::::::::::=#*********##:::::::::::%@::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::+#****##::::::##**************#*#%#:::::=%*************#%%%%%+=+%%%%%*************#@#*********%#=::::::::*#********#@=::::::::::=@#::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::#****#+:::::::##***************##%#=:::@#*************#%%%%%++#%#%%%*************%%%**********#%*:::::::%#*******#@=:::::::::::#@=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::%****#*::::::::#%#*************#**#%#*#%**************#%%%%%%%%%%%%%*************@%%************%%=::::*%******##@=:::::::::::#@#:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::##***#*:::::::::=%##****************#%%****%**********#%%%%%%%%%%%%#************#%%%#************#%#::=%#******%@=::::::::::::@#::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::+#***%*:::::::::::*%###***********##%%*****%***********%%%%%%%%%%%#*************#%%%%**************#%*@#*****#%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::=%*#*%*::::::::::::=*#%%#########%%%@#****#%************%%%%%%%%%#**************%%%%%***************#%%#****#%#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::##**%*::::::::::::::::+*+%%@%%**=-#%****#@%*************#%@%@%%##**************%%%%%#*****************##*#%%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::+#**%*:::::::::::::::::::::::::::#%****#%%#**************%%*##%##*************#%%%%%%******************#%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::%#*%*::::::::::::::::::::::::::=%****#%%%#*************#%*#*%%##*************%%%%%%%#******************#%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::+#*##:::::::::::::::::::::::::=%#***#%%%%**************%#+%*%%*#*************%%%%%%%%*******************#%#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::%##@:::::::::::::::::::::::::@#***%@%%%%*************###*#*%#*#************#%%%%%%%%*********************#%-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::#%#%=:::::::::::::::::::::::#%***%%%%%%#*************##*#**%%*#************%%%%%%%%%#*********************#%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::=%#%#::::::::::::::::::::::=%**#%#%%%%%#************#*#+#**##*#************%%%%%%%%%%***********************%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::=%%@#:::::::::::::::::::::%##%%##%%%%%#************#*#+#**##*************%%%%%%%%%%%#***********************%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::=@@#::::::::::::::::::::#%%%####%%%%%************#*#*#***###***********#%%%%%%%%%%%%************************#%-::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::*@%######%%%%%************#*%+#***#*#+**********%%%%%%%%%%%%%*************************#%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::%########%%%%%***********#*##+#***#*#+#********%%%%%%%%%%%%%@#**************************%=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::#%#######%%%%%%***********#*%#*****#*#*#*******%%%%%%%%%%%%%%%#***************************#=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::*%########%%%%%%**********#*#%+#****#*%*******#%%%%%%%%%%%%%%%%##***************************#+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::%#########%%%%%%#*********#*%#+#****#*%#*#***####%%%%%%%%%%%%%%##****************************##:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::#%#########%%%%%%%********#*#%#+#****#+##+#***-...:=#%%%%%%%%%%%##*****************************#*=:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::=%##########%%%%%%%#*******#+%%*+******+##+#*-:.......-*%%%%%%%%####******************************%=::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::#%##########%%%%%%%%*********%#+********#%**-...........-*%%%%%%####*******************************#+:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::*%############@%%%%%%#*****#+#%#=#********%#==.............=#%%%@%####*******************************#*::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::=%#############%%%%%%%%#****#+%%*=#******#+%#++..............:+%@@@%###**********************************=::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::#%#############%%%%%%%%%#*****%%*+#****#%#=#%*+-...............+@=*@###**********************************#+:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::=%##############%%%%%%%%%%#*#+#%%+*#*#%%*:+=#%#++...............*-::#%###**********************************##::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::%###############%+:=+***####*=#%#=*#*=%-::+++%%**=.............:%::::@%##***********************************##=::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::*%################*.........-*+%%*=*-.:%:::=*=#%#+*:............-*::::=@%##************************************%=:::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::%##################.........-++%%*=+..:%:::=#=*%#+=+:...........*=:::::#@##*************************************%=::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::#%#################%:........==*%%+=+...#:::+#+=#%%##+..........:#:::::::#%##*************************************%=:::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::=%##################%=........+=*%%+++...#:::=-*=#%**++:.........-*:::::::=%##**************************************%=::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::#####################*.......:+-*%#=+=...#:::*.-##=+***-...:.....*+::::::::=%##**************************************%=:::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::=%#####################:......:+-*%#+*=...*:::+..:++=+++**+*#:...:%::::::::::#%#***************************************%=::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::%######################-......:*+%####+...*::=-....-+*======*=...=+::::::::::=%%***************************************#%::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::*%######################+......:*+*+++*-...*::+:.....-*=+=+++#-...*::::::::::::#@#***************************************%+:::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::%#######################*.......=+=+#+*:...++:#......-*-+*=***...:+:::::::::::::@%****************************************#:::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::#%########################:.......++-=*-....+*:*......:*--+###:...+=:::::::::::::=@#***************************************#+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::=@#########################=.......-%+=*-....=*:+.......++-=*#-...:*:::::::::::::::*%***************************************#+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::#%#########################*......:*+=-=*=...=++=.......:*#*=:....=+::::::::::::::::*#**************************************#+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::=@###########################-.....=+-==--*-..-++-.........:......:#:::::::::::::::::=%**************************************%=::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::#%###########################=.....+=======*:.-+=:................=+::::::::::::::::::##************************************##:::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::=%############################*.....+==*+*==*=.-++................:#:::::::::::::::::::=%************************************#*:::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::#%#############################-....=+=*-*+=*-.:+*................=+::::::::::::::::::::##***********************************%=:::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::=@##############################+....:++#*=**:..:#=...............:#:::::::::::::::::::::+%**********************************##::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::*%###############################:.....:+**=:...:%-...............==::::::::::::::::::::::%**********************************%=::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::%################################=..............-#:..............:+:::::::::::::::::::::::*#********************************##:::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::*%################################*..............:*:..............+=:::::::::::::::::::::::=%********************************%=:::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::@####%%###%######################%%:..............+..............-*:::::::::::::::::::::::::%*******************************%*::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::=%#%%#*+===%######################%@+..............=.............:*+:::::::::::::::::::::::::*#*****************************##:::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::#@%*=--====%######################%*#:.............:............:+#::::::::::::::::::::::::::=%*****************************%=:::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::=@#+=======+%######################@*%=.........................:-#=:::::::::::::::::::::::::::%****************************%*::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::=%*=========+%#################%%%@@@=**.........................:+#::::::::::::::::::::::::::::#***************************##:::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::##==========*%###############%@@@#*+::=%:........................:*+::::::::::::::::::::::::::::+#**************************#::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::@+-===*#**==#############%%%@#+::::::::%-.........................**::::::::::::::::::::::::::::*#*********###*************%=::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::*%=-==+%@##==##########%%@@*=:::::::::::+=.........................+*::::::::::::::::::::::::::::*#*******##+=#************%=:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::@#---+%=*##+=%#######%%#*=::::::::::::::++.........................=@::::::::::::::::::::::::::::=%******#*=--************#=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::@+=--#*:@*#+=%####%%%*::::::::::::::::::++............:............:#=::::::::::::::::::::::::::::#****#*=====+#*********%+:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::=%+===%%#%*#-=%##%%*=::::::::::::::::::::**............:............:**::::::::::::::::::::::::::::%*###=======+#********%#::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::*%====#@%*#+=+@%#+:::::::::::::::::::::::**............:............:+%:::::::::::::::::::::::::::+@%*+===-=====#*******##:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::*#==--+%%#+==*@=:::::::::::::::::::::::::*#............::...........=-*=::::::::::::::::::::::::::##=-====-===-=#******##::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::*#==---***--=%*::::::::::::::::::::::::::*#.............-..........--.=#::::::::::::::::::::::::::%=======+#*--=#*****##:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::**===--++*=*%=:::::::::::::::::::::::::::*#.............=:........--..-%=:::::::::::::::::::::::::#-====+%=@@+-=#****%#::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::**--===*+###:::::::::::::::::::::::::::::*#.............:=.....:-=-..:+#*::::::::::::::::::::::::+#=====%=:@%#-=#***%#:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::**--=-=###=::::::::::::::::::::::::::::::=#..............+::-===-...-+++#=:::::::::::::::::::::::**-===+#::@##-=#*#%=::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::**===+*+=#::::::::::::::::::::::::::::::::#:.............*+=-:.....-++=:=#:::::::::::::::::::::::++-===#*:#%#*-+%@#::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::#%++*+:::#:::::::::::::::::::::::::::::::+#:.............##:.....:=++-..:%:::::::::::::::::::::::#+-===###%*#=-+@-:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::*%#=--==:*::::::::::::::::::::::::::::::::#:...........:-%%-:::-=+++-....*=::::::::::::::::::::::%=-===+@@*#+-=##::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::#+:...:.:#::::::::::::::::::::::::::::::::%-.........:==-#**==++++-:.....=+:::::::::::::::::::::=%--====*%%+--+%=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::**:......-%::::::::::::::::::::::::::::::::#*=---:-----:..#-%+++=-:.......-+:::::::::::::::::::::*#--====+**=-+%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::%-.......-#::::::::::::::::::::::::::::::::++:::::-::....-%:+=::..........:#:::::::::::::::::::::**--=====+++*#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::+*......:.-%::::::::::::::::::::::::::::::::=*:........:-=+%:=*.............*:::::::::::::::::::::*+-=====+**%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::+=.....:+::#:::::::::::::::::::::::::::::::::%+==----==++++%::*:............++::::::::::::::::::::@=----=+**=+%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::+-:=:..:#+:*+::::::::::::::::::::::::::::::::%*+++++++++=-:%:::=............=+:::::::::::::::::::=%=--=+#*=:--=#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::=--*...:#%##=::::::::::::::::::::::::::::::::*+--====-::...#:::*:...........-+:::::::::::::::::::=@*+*%%+::--.-%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::=-*+..-##-+::::::::::::::::::::::::::::::::::+*............#:::*-...........:*::::::::::::::::::::=#@%@+::::..-%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::=-%*:=%=::::::::::::::::::::::::::::::::::::::#:...........%:::+*...........:%::::::::::::::::::::::-#=:-.....=#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::++@%**=:::::::::::::::::::::::::::::::::::::::#-...........#::::%:...........#::::::::::::::::::::::#+:=-.....*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::=++=*=::::::::::::::::::::::::::::::::::::::::*+...........#::::#=...........#:::::::::::::::::::::=*:=-.....-%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*...........*::::+#:..........#:::::::::::::::::::::%-++..:+::#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*-..........*=::::%-..........*=:::::::::::::::::::=#=%-.:++#%#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++..........+*::::*+..........*@=::::::::::::::::::+%%%+*%#%@#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#:.........-*::::+#:=+**###+:%@*::::::::::::::::::::=**+=*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#=.........:%:::::@%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#:.......:-%=::::@%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%-....:=#%%@#::::@%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#:.-*%%%%%@@*:::#@%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@**%%%%%%%%%@:::*@%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@@%%%%%%%%%%@:::+@%%%%%%%%%%@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%@+:::@%%%%%%%%%@#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%*:::@%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%@:::*@%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%@::::#%%%%%%@#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%@+::::#@@%@@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%@*:::::+*+*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+@%%%%%%%%%%%%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%@#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%@#=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#===#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*=====*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#=-=*===+%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*=-=*%#==-=%%%@@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@*=-==###+==-=#%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%*=-==+#*=====-+#%%%%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................-------- +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%#====-+#+=======+%%%%%%%%%%%%%%%%%@@%@%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%#=-====+#+========+#%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%+======+#*========-+%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%*-=======##+========-+%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%#=========**##*=-====--+%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%========-===+#%#+--=====+%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%*-=====--=**+=*#%#*=======%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%#======-=####+=#%##======*%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%=======*#**#==#%*=======#%%%%%%%%%%%%%%%%%#**%%%%%%@@@@%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%=-==+**##==+=+#*+*======%%%%%%%%%%%%%%%%%*****%%%%%@%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%+-==-+#%#+-==##*#*-====*%%%%%%%%%%%%%%%%#*****%%%%@%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%#-===-+###=-*#%##+-====#%%%%%%%%%%%%%%%%******%%%@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%=======#%*+#%%#+======%%%%%%%%%%@%%%%%%*+++**%%@@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%+-======#####*=-=====*%%%%%%%%%%#***#%%*=:-**%@@%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%*-=====-+#%*=--======#%%%%%%%%%%****+*%*-:-*%@@@%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%#========#%+--======+%%%%%%%%%%%****+=++--=##***%%%#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======*#+-=======*%%%%%%%%%%%#**+-::---==++***%#+%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%*======-+#=-=======%%%%%%%%%%%%%#*+---------+***%**%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%======-+#=-======+@@@@@@%%%%%%%@%*+-::----=***##*#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%@%@@@@@+-======*=-======%@@%%@@%@@@@@@%**+::-=--=*#%%#*****%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%@@@@@@@@@@@%@#=-=====*========@@%@@@%%%%%%@%***+==+*=--+*%#******#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%@%%%%@@@@@@%%%%%@@@@@%@%+--=--===--===-#@@@@@@@@@@@@@%*******%*==**##****#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%@@@@@@%@@@@@@@@@@@@@@@@@@#============+*%%%%%%%%%%%%%@%******%@******#+****%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%%%%%%%%%%%%%%%%%#%%#####%%%%%%%%%%%%%%%%%%%%%****#%%%%****#%*#%**#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######%@%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%######******#**+++++**+++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%@%**%############%#%###%%%%#%##########****##**####***++#*+++++++++++**+++++++#++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%@*+#*++++++++++++*++++++#*+++++++++++++++++#+##*++++++++**++++++++++++#+++++++*#+++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%*+#*++++++++++++**+***##%*++++++++++++*++++*+=#+++++++++**+++++++++==+*++++++++**++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%@*+*#++++==+++++++*++****#=#++++++++++++*+++++*:=#*+++++++**++++++++=--+**++++++++#*+++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%@#+*#+++++-=+++++++*+++++*=-*+++++++++++***++++*-:=#*+++++++*++++++++=--=+*+++++++++#+++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%#++#+++++=-=+=+++++*+++++*--++++++++++++**##+++*+::-+***++++*+++++=-++--=+*+++++++++**++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%*++#*+++#+=-=+==++++*++++*=--=*++++++++++**#%++++*-:---+####*#+++++=-++--=+*++++++++++**+*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%@@%*++**+++#*+==++==++++#+++**----*+++++++++++*#%#+++*=+*%%@@%@#*#+++++++++==++**++++++++++**#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%@@@%*++++#+++##++++++++++++#+++*-----++++++++++++*#*#++*#@@@@@@@@@%++++++++++++++++*+++++++++++#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%@@%#*+++++**++#%*++++++++++++#++#++**+++*++++++++++*#*+%#%%%@@@@@@@@@@%*+++++++++++++*++++++++++++*%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%@*++++++*#++#*#*++++++++++++#+*@%@@@@@@%#*+++++++++##=@@%%%#@@@%%@@@@@%*++++++++++++*++++++++++++++*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%*+++++#*+#*+#+++++++++++++#*%@@@@@@@@@@#*++++++++*#+@%##***#@@%%%@@@%%*+++++++++++*++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%@%****#+#*++#+++++++++++++#@@@@*#%%@@@@%*+++++++++#+=::+#%#%%%%%%%*@%%%*++++++++++**+++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%@@@@@**%##*%++++++++++++#%@@%=-%%%%%*+#*+++++++++*+....+%%%#+#%%%++%%%*+++++++++++*+++++++++*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@%+%@@%#%*+++++++++++#%@*:.+%%%%%#==*++++++++++*:...*%%%*:+%%%+-%%#++++++++++++**###****##%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@#*@%%*+**+++++++++++*%*:..#%%*#%%*:=*+++++++++*+..:#%+-:.:+#%*-%%*++++++++++++*++#**#***+%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@#%@%*+++#+++++++++++*%=..:%%*:*#%#:.=*+++++++++*:.:%%+:...:+%*=%*+++++++++++++*++#+++++++#%%@@@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@#@@*++++#++++++++++++#+..-%+:.:-#*...-**+++++++*=.-#*+=...=++++#++++++++++++++*+*#+++++++*%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@%@*+++++*#+++++++++++*+..=#+...-**....:=**#*###*+.-*==:::.==+=++++++++++++++++*+#*++++++++%%%%%%%%#+%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@@*+**++++#*+++++++++++*..=+=:..=++.......::--::...-*=====-==+=*+++++++++++#*++**#+++++++++#%%%%%%%#*@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@#*#%%+++++#+++++++++++*-.=+=-=-=+=................:*==-:::-=*=*+++++++++++%#++*##++++++*++*%%%%%%%*#@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%*%%%%+++++*#++++++++++++.-*=---=+-.................*+-:::::=++*++++++++++###++*%*++++++%*++%%%+*%%+@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%*%%%%@*+++++*#*+++++++++*:.*-::::+-.................:+-::::-=+*++++++++++##*#++*#++++++*@#++#%%%%%##@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%@@*#%%%%%*+++++++##*++++++++*-+=:::-+:..................:======-=*+++++++++##+*%++#*++++++#%%++*%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%@@##%%%%%%*++++++++%%##**++++#%*--===-..........................:*++++++++*#*++#%++#*++++++%%%*++%%%%%#@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%@%#*%%%%%%@*+++++++*%#+**#%%***=:...............................:**++++++*##*+++%%++#++++++*%%%*++%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%@@%%*#%%%%%@@#+++++++#%+++++*+...................................:##*****###+++++*%#**#++++++#%%%#++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%@@%%##%%%%%@%@#+++++++#*+++++*=..............::-::::::--...........--===+#*+++++++##%***++++++%%%%%++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%@*#%%#+*%%%@%%@#++++++**++++++#-.............:--:...-==-.................+*+++++++*%%%*#+++++++%%%%%++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%@#-*%##*%%%@%%%%#++++++*+++++++#=........................................-*++++++++*%#%%*++++++*%%%%%*+*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%@%#+##%%%%@@%%%%#+++++**+++++++**........................................+*++++++++###%%*++++++#%%%%%#+*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%@%##*#%@@%%%%@#+++++*+++++++++#-......................................-*+++++++++%*#%#*++++++%%%%%%%++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%#%#*#@%%%%%%#++++*+++++++*++**:....................................:*+++++++++*#**###++++++%%%%%%%++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%@#%@@@%@%%%%%@#+++**++++++***++**:...................................=*+++++++++##***##*++++*%%%%%%%++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%#%%%%@%%%%%@%#+++#+++++++***+++%#:.................................:*++++++++++##****#*++++*%%%%%%%*+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%##%%%%%%%%%%@:-**#*++++++****+++%@%+:..............................-+++++++++++*%#****#*++++#%%%%%%%*+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%##%%%%%%%%%%@*..:-+*+**+++****+++%%%@%+-..........................:+%*++++*+++++*%*****#*++++#%%%%%%%#+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%##@%%%%%%%@%+:....:##%%%******+++%%%%%@%*-:.....................:+#@#+++*#**++++##******#++++#%%%%%%%#+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%*%%%%%%%%%%-......:%%%%%%#***#*++%%%%%%%%%#+-:................:*%%@%*++*#-:#*+++##******#++++%%%%%%%%%+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%##%%%%%%%%@+......:+%%%%%%%#*#%#++%%%%%%%%%%%%#*+=--:....:=-::-+@@%@*+++#-..+#+++%#******#*++*%%%%%%%%%+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%*#%%%%%%%%@-.....:*%%%%%%%%#*#@#++%%%%%%%%%%%%%%%%%%%#+===--=*###@@%+***+...:=#*+@#******##++*%%%%%%%%%+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%#*%@%%%%%%@*....:-*%%%%%%%%%%#%@%++#%%%%%%%%%%%%%%%%%@%----+##**+*%@*+###:.....=%#@#*******#++*%%%%%%%%%+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%#*%%%%%%%%@=..::-#%%%%%%%%%%%%@%@*+*%%%%%%%%%%%%%%%@@%#*-+##*+++++*#++*-+:......+@@#*******#*+#%%%%%%%%%+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%*#%%%%%%%%@*...:*%%%%%%%%%%%%%@%@#+*%%%%%%%%%%%%%@@@@#*#%#**++*#*+#*++*:=:......:%%%%#*****##+#%%%%%%%%%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%#*#@%%%%%%%%#..:*%%%%%%%%%%%%%%@%%@*+%%%%%%%%%%%@@%%%@@%#*+++**%##**+++*.--.......#%%%%%#****#+#%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%#*%%%%%%%%%%%::*%%%%%%%%%%%%%%%@@%%%**@%%%%%%%@@@%%%%@%*%%###%%#*%#*++**::=-......*%%@%%%##**#*#%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%**%%%%%%%%%%@-*%%%%%%%%%%%%%%%%%@%%%@##@%%%%@@@%%%%%%%%%%#%%%%%%%%#+++*#:.:+-:::..*%%%@%%%#**#*%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%*#%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%@%%%%@%@@%@@%%%%%%%%%%***####***#%*++**#:..::::::.*%%%%%%%%#***%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+@%*#@%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%@%%%%%@%%@@%%%%%%%%%%#+*##*+++*%#++*###:.....::..+%%%%%%@%%#**%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+@%*#@%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%@%%%%%%%@@%%%%%%%%%%%%##*##+**%%*++%###:.........+%%%%%%%%%%#*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+@%*#%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%@@%%%%%@%%%%%%%%%%%%%@#*+*###%%%++#@###:.........:*%%%%%%%%%%##@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+@%*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@@#*%%%%%%%%%%%%%#+++*%%%%#+*%%*##...........:+#%%%%%%%%#*%@%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@%#**%%%%%%%%%%%%%%***%%%%%*+#%%#%%:............:+#%%%%%%%##%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%****%%%%%%%%%%%%%%#%%%%%%%**%%%#%%+..............:#%%%%%@#*#@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%@##@%%@%%%%%%%%%%%%%%%%%%%%%%%%%%##%#****#%%%%%%%%*++*%*=*%##%%%+#%%%%%%%+-............:#%%%%%###*%@%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%@%@%@%%%%%%%%%%%%%%%%%%%%%%%%%%#**%*****#%%%%%%#+***+===+*+***#+%%%%@%%%%%*:..........-%%%%%%#*###%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%***#*****%%%%%%%*+%###=====###*#*%%%%%%%%%%%*:.........+%%%%%%***%##@%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%****##****%%%%%%%#+*%#+-===+%#%*##%#%%%%%%%%%%#-........#%%%%%%****%##@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%******#****@%%%%%###**+=-==+=+#++#%%#%%%%%%%%%%%#+......-%%%%%%%****#%*%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#******#****@%%#*****#%#+*#=#%+++%%%%%%%%%%%%%%%%%%*-....*%%%%%%#*****%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::#@%#*#%%%%%%%%%%%%%%%%%%%%%%%%%*********#*************#+*#%+*#####@%*%%%%%%%%%%%%%%%%+:.:#%%%%%%*******%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::=#%#***##%%%%%%%%%%%%%%%%%%%%%%%#*********%*************#=##%=##****##*#%%%%%%%%%%%%%%%%#+*%%%%%%%********%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::#%#******#%%%%%%%%%%%%%%%%%%%%%%#**********#**************=*%*=%********%%%%%%%%%%%%%%%%%%%%%%%%%%#********#%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::=##*********#%%%%%%%%%%%%%%%%%%%%*************#***##*******#+==+#*********%%%%%%%%%%%%%%%%%%%%%%%%%%#*********@#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::*%#***********#%%%%%%%%%%%%%%%%%%**************%***##********%%#%#********#%%%%%%%%%%%%%%%%%%%%%%%%%%*********%%*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::#%**************#%%%%%%%%%%%%%%%%***************%#**%***********#**********#@%%%%%%%%%%%%%%%%%%%%%%%%%*********%#**#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::=%##****##*********#%%%%%%%%%%%%%#****************#%**%***********************#%%%%%%%%%%%%%%%%%%%%%%%%#********%##***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::=%#****#%@@#*********#%%%%%%%%%%%#******************#**%************************%%%%%%%%%%%%%%%%%%%%%%%%********#%*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::=%#***#%%*@#***********#%%%%%%%%%***********************#******##******##%%#*****#%%%%%%%%%%%%%%%%%%%%%%#********%#******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::=%#**##%*-##*************#%%%%%%%***********************##*****@@%%#***%@@%%%#*****#%%%%%%%%%%%%%%%%%%%%%********##%#*****#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::=%#**#%#::=%***************#@%%%%************************##****%@#*#%%*%@#***#%******#%%%%%%%%%%%%%%%%%%%#*******###@%#*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::=%#**#%=:::@#***************#@@@@%************************#*****%%****%%@#****#@*******#%%%%%%%%%%%%%%%%%%*******####@@%***#*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::##**#%=:::=@#***************%@%%%@%***********************%*****#%****%@%****#%@********#%%%%@@%%%%%%%%%%#******###*#@%@#*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:*%###%=::::*%***************#@%%%%%@#*********************%@******%%%#%@%@%%%%@%#**********%%%%%%%%%%%%%%%******####*#@%%%*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:@#*#%=:::::##***************#@%%%%%%@#*******************%@%*******#%%%#**##%##*************#%%%%%%%%%%%@#*****###***#@%%@#*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%#*##::::::@#***************#@%%%%%%%@#****************#@@%%**********************************#@@@@@@@@@%%***#%####**%@%%%%*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%##%:::::::@#***************%@%%%%%%%%@%**************%@%%%%**********************************#@@@@@@@@%##%%%%##*****%%%%%@#****##@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%#%*:::::::@#***************%%%%%%%%%%%@%***********%@@%%%%%*******##******###*****************@%%%%%%%%**###*****###@%%%%%%*****#@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:@%%::::::::@#**************#@%%%%%%%%%%%@#********%@@%%%%%%%******%@@%#***%@@@%#***************#@%%%%%%#************#@%%%%%%#****#%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:*@#::::::::##**************#@%%%%%%%%%%%%@#*****%@@%%%%%%%@#*****%@#*#%*#@%#**#@****************%@%%%%%#************%@%%%%%%#*****#@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::@*::::::::*#**************#@%%%%%%%%%%%%%@###%@%%%%%%%%%%@#*****%%***#%%%*****@#***************@%%%%%%#************%%%%%%%%%*****#@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::@@=:::::::+%**************#@%%%%%%%%%%%%%%@%@%%%%%%%%%%%%@#*****#%#*#@@%%%###%@****************%@%%%%%#***********#@%%%%%%%%#***#*%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::+=::::::::%#*************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#******%@@@%**#%@@@%#****************#@%%%%%************%%%%%%%%%@#*****%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::+#*************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#********#****************************#@%%%%***********#%%%%%%%%%%%#****#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::%*************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*************#*************************%@%%#***********#%%%%%%%%%%@#****#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::##************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@**********#%@@@@%************************%%%#**********#%%%%%%%%%%%@#**#*#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::=%#***********#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*********%%%%%%%%%************************@%#**********#%%%%%%%%%%%@%**#*%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::=%#**********#@%%%%%%%%%%%%%%%%%%%%%%%%%%@%*********%%%%%%%%%@#***********************#%#*********#%%%%%%%%%%%%%%###*%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%#*********#@%%%%%%%%%%%%%%%%%%%%%%%%%%@%********#%%%%*+#%%%#************************##*********%@%%%%%%%%%%%%@#*##@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%@#********#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@********#%%%%==#%%%%*************************##**#****#@%%%%%%%%%%%%%@#**#@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%##****#*%@%%%%%%%%%%%%%%%%%%%%%%%%%@%**#*****#%%%%%%%%%%%**************************#*****##%%%%%%%%%%%%%%%@#*#%@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%@%%##***#%@%%%%%%%%%%%%%%%%%%%%%%%@%**#%******%%%%%%%%%%#*****************%*********###**#%@%%%%%%%%%%%%%%@#*#@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%@@@%%###@@@%%%%%%%%%%%%%%%%%%%%@%**#%#******#%%%%%%%%%******************%#*********#**#%@%%%%%%%%%%%%%%%@##@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%@@@@@@@@@%%%%%%%%%%%%%%%%%%%%**#%%********%@%%%@%#*******************%%*********###@@%%%%%%%%%%%%%%%%@#%@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#%@#********%*#@*##*******************#%%**********%@%%%%%%%%%%%%%%%%%%@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#@%%********%#+#%+#********************%%%**********#@%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#%@%%*******#%+*##*#********************%%%#**********#@%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#%#%%*******#%*+#%*#********************#%%%#***********%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*###%%%*******%#+#*%+#********************%%%%%************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*####%%%******%%+**##+#*******************#%%%%%************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#####%%%*****#%#+#*#*********************#%%%%%%*************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*######%%%****###+***%*********************%%%%%%%**************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#########%%@****##*+**#%+#******************%%%%%%%%#*************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#########%%%#**###+***#%+#*****************%%%%%%%%%#**************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%@%##########%%%%*##%*****%#+#****************%%%%%%%%%%#***************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########%%%%%*##+****%#+#**************#%%%%%%%%%%%#***************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%@%###########%%%%*##+*****##+#*************%%%%%%%%%%%%%%****************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%@%#############%%#*#*+****###+#***********#%%%%%%%%%%%%%%%*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%@%##############%%+##+#%##*###+#*********#%@%%%%%%%%%%%%%%%#*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%@@%###############%**#**%%%%%%##+###*###%%@@@%%%%%%%%%%%%%%%%#*****************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%@%##################=##+%%%%%%###=%%%%%%@@%%%@%%%%%%%%%%%%%%%%#******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%@%##################+*#+*%%%%%%###=#%%%%%@%%%%@%%%%%%%%%%%%%%%%%*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%@%##################*+%*=%%%%%%%*##=#%%%%%@%%%@@%%%%%%%%%%%%%%%%%********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%@%###################=##=#%%%%%%%*#%+*%%%%%@%%%%%%%%%%%%%%%%%%%%%%********************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%@%###################++%++%%%%%%%%*#%++*---=#%%%%=-=++*#%%%%%%%%%%%#********************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%@%###################%+##=%%%%%#*==+#%*=*....*%%%*......::=+*#%%%%%%#*********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%@%#####################%@**@%#+-:..:+*%#+#-...*%%%=..........:-+#%%%%%*********************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%@%#########################%%-:.....-+*%%%*+...*%%%-..............-#%%%**********************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%@%#####################%*=+%##:......-++%+*++.:-+%%#................:+@@***********************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%#####################%#==%###=......:*##**+*:*%*%%*.................-@%#***********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%#####################%*===####*.......:+*#==#*+#*%%=.................=%%#************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%@#######################====*%###:........-*===-=*+%%:.................#%%%************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%@%######################*==++=%###=........-*--+##++%#.................-%%%%*************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%@%######################%*+++*-*%##+........:*==-=#-+%+.................*%%%%**************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%@%#######################%#*#+**%%###:........++#**+.+%=................:%%%%%**************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%@%#########################%##%%%###%@=........:*#+-..+%:................+%%%%%#**************************%@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%@###################################@%#...............+%................:#%%%%%#***************************@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%@###################################%%%%-..............+*................=%%%%%%#***************************#@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%@%##################################%@%%%+..............=+...............:#%%%%%%%****************************%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%@%###################################@%%%%#..............=-...............=%%%%%%%%****************************#@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%@%###################################%@%%%%%-.............=:..............:#%%%%%%%%*****************************%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%@####################################@%%%%%%+.............=:..............=%%%%%%%%%*****************************#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%@####################################%@%%%%%%#:............=:.............:#%%%%%%%%%******************************@@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+@%####################################@%%%%%%%%=............=..............-%%%%%%%%%%#*****************************%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::#%#####%%%%###########################%@%%%%%%%%#............-.............:#%%%%%%%%%%#*****************************#%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::##@%###***++*%##########################@%%%%%%%%%%-.........................+%%%%%%%%%%%#*****************************#%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::*#++===------=%#########################%@%%%%%%%%%@+........................-%%%%%%%%%%%%#*****************************%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::=%=----=-=====*##########################@%%%%%%%%%%%%:......................:+@%%%%%%%%%%@#****************************#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::#*--=========+%#########################%@%%%%%%%%%%%@-......................:*@%%%%%%%%%%%#****************************%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::=%=--=##**====###########################@%%%%%%%%%%%%@=.......................*@%%%%%%%%%%%#***************************#@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::%+=--%@@##==-+%#########################%@%%%%%%%%%%%%@+..........:............-@%%%%%%%%%%%#***************************%@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::*#=--+@%@#*===###########################@%%%%%%%%%%%%%@+..........:............:%%%%%%%%%%%%#**************************#@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::%=--=*@@%#==-*##########################%@%%%%%%%%%%%%%@=..........=.............#@%%%%%%%%%%#*******##*#***************%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::#*---==%%#=--=%####%#####################@@%%%%%%%%%%%%%@-..........=:............+@%%%%%%%%%@#*****#*==-+#*************#@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::=%======##=--=#@@%%%%%%%%@@%%%###########%@%%%%%%%%%%%%%%@-..........-=............-%%%%%%%%%%@#***#*======#************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::**-===-*+#=+#%%%%%%%%%%%%%%%%@%@@%%%#####@@%%%%%%%%%%%%%%%:...........=............=%%%%%%%%%%@%*##+=======#************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::%+=====##%%%@%%%%%%%%%%%%%%%%%%%%%@@@@%#%@%%%%%%%%%%%%%%%%:...........--..........:=#%%%%%%%%%@@#=====-===-************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::+%+===+*#*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%#:...........:+.........:=:*@%%%%%%%%@+=-===-===--+#********#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::*#+***+=:+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%:............#:......:==:.=%%%%%%%%%%======+#%+--+#*******#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::=@%+-..::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:............#-....:==:..:*@%%%%%%%%%-====%@%@%=-+#******#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::=%=.....:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:............**:-==-:...-+*@%%%%%%%%%-===+@%%%@+==#*****%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::=%-......-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-............*%=-:....:=++=#%%%%%%%%#-===#@%%%%=-=#***#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::%-.....-.*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=...........:#@=.....-+++-.*%%%%%%%%#-===#@@@@#--=#*#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::#+.....-=:%+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*:........:-=+@*:::-=++=:..+%%%%%%%@*-===#%@@%+--=%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::=*:-:..-==+++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=-:....:-=-:-%%+=++++-....-%%%%%%%@*-====+#@#==-+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::%-:*-.:===%:+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%---=====-:..-@%#++=-:.....:#%%%%%%%+-===--+#*==+%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::=#:+#:.-+*%=:+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=:.......:-=*@%#::........:#%%%%%%%+-===--=+*+#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::+%-%%:.=#@#::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#=-:::--=++++%%#:..........*%%%%%%%+-===--+***@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::#*@@*-+*+:::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*++++++++=-:#%%=..........*%%%%%%%=-====+*+-=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::++=#%%=::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+======-:...#%%*..........+%%%%%%%=-==*+*--==@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=...........#@%%-.........=%%%%%%@*+#%+:-++-:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*...........=@%%+.........-%%%%%%%@@@*:::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:..........:@%%#:........-%%%%%%%%%#:...::=:*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-...........%%%@=........-%%%%%%%@#:.....:+:*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*...........*%%@#:.......:%%%%%%%+:......-=:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:..........+@%%@-.......:%@%%@%=..:=...:+:-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=..........-%%%@*.......:#@%%%-..:+-..:*#-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#:.........:@%%%%-.......#@%%%+=+*-..:*%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-.........:%%%%@-......:%@%%%%#=:::=#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*.........:#%%%@-......=%@%%%%%%##%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#:.........+@%%@-......*%@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:.........=%%%@+-===++%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-.........:@%%@@%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=.........:%@@@%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+.........:@@@@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*.........=@@%@%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@-........+@@%@%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#:-=++***#%@%@%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%#%%%%%%%%%@%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-:::::::::::::::::::::::........................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::::::::::::::::-++++++++++++++++++++++++++++++++++++++++++++++++++%#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*-+%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*===+%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*-==--+%%%%%%%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@*--*#=--+%%%%%%%%%%%%%%%%%@@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................::::::::::::::::+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%*--=#%#====%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%*===+#**+===+%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%#=-==*#+-====-+%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%#=-===+#+======-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%#=-====+#+=======-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%=-======#*========-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%+-=======###*+======-+#%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%*-========++*###+=====-*%%%%%%%%%%%%%%%%%%%#%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%#=-===========*#%#*+===-#%%%%%%%%%%%%%%%%%****%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................-------- +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%*-======-=###+=#%%#+-==-#%%%%%%%%%%%%%%%%*****#%%@%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%#======-=*###*=*##+=====%%%%%%%%%%%%%%%%**+***#%%@%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%+-=====+#*+*+=*#+++====%%%%%%%%%%%%%%%%*+=+**#@@%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%#====+*#%*===+#**#+===+%%%%%%%%%#****#%*=:-**%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%+-=--+#%#+==*###*====*%%%%%%%%#******#*-:-*#@@%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%#-===-=*##=+#%%#=-===#%%%%%%%%****=--==--=*%**#%%%#%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%=======*#####+=-====%%%%%%%%%****=::----===+**#@#*%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%*-======*#%*=--=====%%%%%%%%%#***+=---:--::=++#%**%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%=-====-=##+-=======@%%%%%%%%%%##**=:--:-=+**#%***%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%*-======*#========+@%%%%%%%%%%@%#+-:==--=#%@%******#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%======-*#=======-*@@@@%%@@@%@%**+==+*=-=**%*******#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%+-====-=#=======-#@@%%%@%%%%@#*****%**+***##+***%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%@%=-=====*======-=%@@%%%%%%%%@%****%@%*****%%#@#**%@%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%@@@@@@@@+-=====*====---+@@@@@@@@@@@@%###%%%%%%#%@%%%%%#%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%@@@@@@%%%%%@%=-----=---===+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%@@@@@%%%%%%%@@@@@+==++**####%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%***+*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***+++*#*+++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####****+++++++++++*#++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%##**%*++++++++++++++++++++#*+++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%#%***####***+**+++++++++++++++++++++#++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%######%####******+++++++*++#***+++++++*#++++++++++==+++++++++**+++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%#%#**********#*+++****@#+++++++++++*+++++*-+*++++++++++#+++++++++=--=+++++++++**+++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%%+##+++++++++++#+++*#**##%*++++++++++**++++*=:=**++++++++#++++++=++=--=+*++++++++**+++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@**#++++++++++++#+++++++*-#+++++++++++*#*++++*-:-**+++++++#++++++==++--=+#*++++++++#*++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*+#++++==+++++++#++++++*=-+*++++++++++*#%*+++*=::-+**+++++*++++++==++--=+**+++++++++#+++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+**+++=-=+++++++#++++++*---#++++++++++**%#++++*-:::=**++++**+++++++++==++**++++++++++#++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*+#++++=-=+=-++++#+++++#=---+*+++++++++**%##+++*+-:::-=*###%*++++++++++++++#++++++++++*#+++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%+#*++++=-=+=-++++#++++**-----*+++++++++**%=+#+++*+-=+***##=**++++++++++++++#+++++++++++*#++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*+#+++++==++++++++#++++#--::-:=*+++++++++*#+:+#**#%%@@@@@@@*++++++++++++++++#++++++++++++*#*++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+*#+++++++++++++++#+++##-=+*+=-**++++++++*##::=%%%%@@@@@@@@@@*++++++++++++++#++++++++++++++###@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+#*+++++++++++++++*++*#%%@@@@@%##*++++++++*#-=%@@@%@@@@@@@@@@%#+++++++++++++*+++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##%++++++++++++++++***%%@@@@@@@@@@#+++++++++#=*@@%+=@@%%%%%%@@%%#++++++++++++*++++++++++++++*##@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%##++++++++++++++++*#%@@@@%@@@@@@@%*++++++++*#*%+:.+%%%%%%%%@#%%%#+++++++++++*+++++++++++++*#*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@***++#*++++++++++++*%@@@@*=%%%%%%#*=+*+++++++#+:...#%%%**%%%%##%%#+++++++++++*+++++++++++*##++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%*+**+*@*+++++++++++++%@@@=.=%%%%%%*:::+*++++++**...:%%%#:-#%%%#*%%*+++++++++++**+*******##*+++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%@@@@#*+++#++###++++++++++++*@@%=..+%%##%%#:...-+**++++#-..-%%+-..-=%%**%*++++++++++++*+*%####***+++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%@@@#*+++++#++#*#++++++++++++*%@=...*%#-+%%#:.....:=****#=..-%#=...:+#%***+++++++++++++*++#++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%@@#*+++++#+*#+#*++++++++++++##....#*-.:=##:........::::...-*++:..-++#++++++++++++++++*++#+++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%@@#*++*#+#%###+++++++++++++#:..:%*:..=**:...............-+==::::==#++++++++++++++++*++#+++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%#+#**+**++++++++++++*:..:*+-..+++:...............-+==-====+#++++++++++++++++*+*#+++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*#+#++++**+++++++++++*-..:+=--:==+:...............:+==---==**+++++++++++++++*#+*#++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*#*#+++++**++++++++++++..-+======+................:*=-:::-=#*+++++++++++++++**+*#++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*#*#++++++**++++++++++*-.-*=----=+.................+=:::::-#*+++++++++++**++**+**++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+##%+++++++**++++++++++*.:*-::::=+.................=======*#*+++++++++++##++*++**+++++++++*%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#**%%++++++++*#+++++++++*+.+=----=-..................::::::*++++++++++++#%#++#++#*+++++++++%%%%@@%%%%%@@%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%*+#%++++++++#%#*++++++++**-===--:........................+*+++++++++++#%##+**++#+++++++++*%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@*+*#+++++++*%*+*##**+++*##-.............................=*++++++++++*#%###+#*+*#+++++++++*%%%%%%%%%#=#@%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%@*++++++++++#%+++++*##**+-...............:......:.......=###*******##*+%##*+%#+#*+++++++++#%%%%%%%%%#+@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%@#@@@@*+++++++++*##++++++*=...............:-==-:---==-.........:-=+####**+++%%%*#@%*#+++++++++*#%%%%%%%%%+#@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%@%%%%%%%@%%@@%%*+++++++++##*++++++*=...............:::.....:...............-#+++++++*@@@#@@%#*++++++++***%%%%%*%%#+@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%@%%@%%%@%%@%%%%*++++++++###*++++++*=.......................................*++++++++#@@@@%@%#+++++++++%#*%%%%%%%%+*@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%#=%@@@%%%%#%#%++++++++*###+++++++*=......................................=*++++++++#@%%%@%%*++++++++#@##%@%%%%%%+%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%+%%%%%%%###%%+++++++*###*+++++++**.....................................:*+++++++++%%%%%%*+++++++++*@@#*%%@@@@@@#@@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%#*%%%#*#%%%%%+++++++####*++++++++#:....................................=*+++++++++%%%%%%++++++++++%%%#*%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%#%#%*+%%%%%#++++++*#*##+++++++++*+...................................:*+++++++***@%%%@#+++++++++#%%%#*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%*++++*#*##++++++++++*%=..................................=+++++*##+##@%%%@*++++++++*%%%@#*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%@@@@@+:::+*+*+++##*#*+++++++++*+%@=................................:*++++*#=:.+#@%%%%+++++++++%%%%%#*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%@@@=....-.**+##%%#+++++++++**+%%@*-.............................:++*+++#-...-%@%%%#++++++++*%%%%%#*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%@#%%%%%@@+...:-.-###%%%#++++++++***+%%%%%*-.........................:=#******+....:*%%%%*++++++++%%%%%%#*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%@=...:=..-%%%%%%#*+++++****+%%%%%%@#+::..................:=*%@@*#--**:.....-%%%%++++++++#@%%%%%#*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%#@%%%%%%%-....=...*%%%%%%#*+++*****+%%%%%%%%%%#*=-::::.........:-*@@%%#+#-.+=.......=@%%+++++++*#@%%%%%##@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%@#%%%%%%%@*....:+..=%%%%%%%%%*+***##*+%%%%%%%%%%%@%%%%%##+-:::::::-*@@%%*+*-.=-.......:%@#+++++++##@%%%%%##@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%@#%@%%%%%%%-....:+.-#%%%%%%%%%%****#%#+%%%%%%%%%%%%%%%%%@@#-:::::-+*#%@%%++*+..::.......#@*++++++*##%%%%%%##@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%@%#@%%%%%%@*.....:=:#%%%%%%%%%%%%#**#@*+%%%%%%%%%%%%%%%%@@@%=:-:-+##***%@*+++*..:=::.....*%*++++++###%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%@#%@%%%%%%@*....::-*%%%%%%%%%%%%%%##%%++%%%%%%%%%%%%%%@@@@%##=:=*#*++++#%++++*:..-=:::...#@%#++++*#*#%%%%%%##@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%@##%%%%%%%%@%:..:::*%%%%%%%%%%%%%%%%%@%+*%%%%%%%%%%%%%@@%%@#**#+#**+++++*#++++#:...:::::.:%%%%#*++##*#@%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%@#%%%%%%%%%%@=....+%%%%%%%%%%%%%%%%%@@#+*%%%%%%%%%%%@@@%%%%#***#*++*#*++#+++++#-......:..+%%%%%%#*#**#%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%*%%%%%%%%%%@+...=#%%%%%%%%%%%%%%%%%@@*+#@%%%%%%%@@@%%%%%%%%##**++*%#%*##++++*#=.........#%%%@%%%%##**%%%%%@#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%@##%%%%%%%%%%%%-.-#%%%%%%%%%%%%%%%%%%%@*+#%%%%%%%@@%%%%%%%%%%*#####%%#%%%*++++*#+........=%%%%%%%%%%%#*#%%%%@#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%*#%%%%%%%%%%%@#=#%%%%%%%%%%%%%%%%%%%%%#+%%%%%%%%@%%%%%%%%%%%#%%%%%%%#%%#++++**#*........+%%%%%%@%%%%%##%%%%%#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%*%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%#*%%%%%%%%@%%%%%%%%%%%**####**#%%#++*#**#%:........+%%%%%%%%%%%%#%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%*%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%@#%%%%%%%%%%%**##*+*#%%%*++#%**#%=.........-#%%%%@%%%%%*%%%%%#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%*%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%*%@%%%%%@#*%%%%%%%%%%%%%**###%%%%++*@#**#@*...........-*%%@%%%%%##%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%@#%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%#**%@%%%@%**#%%%%%%%%%%%*++*%%%%%#++#@#**%%%-............:*%%%%%@%#%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%@#%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%#****%@%@%****%%%%%%%%%%%**+*%%%%%#+*%%#*#%%%#.............+%%%%%%##%@@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%******%@%#****%%%%%%%%%%%%##%%%%%%*+#%%#*#%%%%+...........:#%%%%%%*%#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%@@%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%#*******%#*****#%%%%%##*%@#+#%%%%%%**%%%##%%%%%%=..........=%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%@%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%*********##****#%%%%+=-=*#===+==+*%+#%%%%#%%%%%%%+........:#%%%%%%%**#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%@#%%%%%%%%%%%%%%%%%%%%%%%%%%***********%*****%%%*=*#*====-=#%#+#*%%%%%@%%%%%%%%+.......+%%%%%%%%***%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%@##%%%%%%%%%%%%%%%%%%%%%%%%%#************%****#%#=*#*%+====*%*####%%%%%%%%%%%%%%%*:....-%%%%%%%%%***#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%#**************#**#*%#=#%#*====*+*##+#%***#%%%%%%%%%%%%*:..:*%%%%%%%%#****%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%@##%%%%%%%%%%%%%%%%%%%%%%%%%%*****************##**##***#+**=*%+==*@%****%%%%%%%%%%%%%*:.+%%%%%%%%%#****#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%@#*#%%%%%%%%%%%%%%%%%%%%%%%%%******************##****##%#+%#*+%####%%****%%%%%%%%%%%%%%#=%%%%%%%%%%#*****@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%@#**#%%%%%%%%%%%%%%%%%%%%%%%%#******************#********#+###*#*********#%%%%%%%%%%%%%%%@%%%%%%%%%%******%#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%@%****#%%%%%%%%%%%%%%%%%%%%%%#*******************#********#=##+#**********%%%%%%%%%%%%%%%%%%%%%%%%%%%*****#%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%******#%%%%%%%%%%%%%%%%%%%%#********************#*********#+*##**********%%%%%%%%%%%%%%%%%%%%%%%%%%%*****%#**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%#*******#%%%%%%%%%%%%%%%%%%#*********************%**********###***********#%%%%%%%%%%%%%%%%%%%%%%%%%%*****%##*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%@#*********##%%%%%%%%%%%%%%%#**********************#***#%%#******#%@@%*******%%%%@%%%%%%@%%%%%%%%%%%%%#****##***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%@#************#%%%%%%%%%%%%%#***********************#**%@%%%%***#@@%##%%*******%%%%%%@@%@%%%%%%%%%%%%%%#****%#****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%@#**************#%%%%%%%%%%%************************##*#@#***%%#%@%*****%#*******%%%%%%%%%%%%%%%%%%%%%%%****##******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%@%#***************##%%%%%%%%*************************##*#%*****%%@#******@%********%%%%%%%%%%%%%%%%%%%%%#****%#******#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%@#******************#%@%%%#**************************##**@#*#%@@#@%****#%@#*********#%%%%%%%%%%%%%%%%%%%****##********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%@#*****************#***%@@@#**************************#***#%@@@%#*#%@@@@@%#************%%%%%%%%%%%%%%%%%#****%*********#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%#*********************#@@%%@%*************************#**************###****************#%%%%%%%%%%%%%%%****##**#*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%#*********************#@%%%%@@#***********************#***********************************@@@%%%%%%%%%%*****%#**%%******#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%@#******##**************#@%%%%%%@%#*********************#***********************************@@@@%%%%%%%#*****##***%@#******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%##****#%%#**************%@%%%%%%%%@%#*******************%***#@@@%*****#%@@%*****************@@%@%************%#***#@@#*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%*****#%@#**************#%%%%%%%%%%%%@%#*****************%**#@%##%%#*#%@%##%%****************@%%%@%**********##****#@@%*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%#****#%@@#**************#@%%%%%%%%%%%%%%%#***************%**%%****#%#@%#****@#***************@%%%%@%*********%#****#@%@#****##%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%#***#%@@%#**************#@%%%%%%%%%%%%%%%@@%#************%**%%****#@@@#*****%%***************#@%%%%%%#******###****#@%%%#****#%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%@#****%@%@#***************#@%%%%%%%%%%%%%%%%%@@%#*********%#**#%%##%@%#%%####%@%****************%@%%%##%%#***####****#@%%@#*****%@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%****%@%%@##**************#@%%%%%%%%%%%%%%%%%%%@@@%###***%%*****#%%%#***#%@@@%#*****************#@%%%####%%%%##******%@%%%%#***##@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%#***#@%%%@#***************#%%%%%%%%%%%%%%%%%%%%%%%@@@@@%@%#**************************************%@%%#***#####*******%%%%%%%****#%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................=%#**#@%%%%@#***************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@****************************************@@%###************#@%%%%%%#***##%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................##**#%%%%%%@#***************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%**********##%%#*************************%@%***************#@%%%%%%#****#%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................:%***%@%%%%%@##**************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*********%%%%%%%************************@%%***************#@%%%%%%%#****%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................+#**#@%%%%%%@%***************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%********%%%%%%%%%***********************@@#***************%%%%%%%%@#****#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................+#*#%@%%%%%%@%***************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%@%********%%%%%%%%%@***********************%@#**************#@%%%%%%%@%*#**#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................+#*#@%%%%%%%%%***************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%********#%%%%*#%%%%#***********************%#**************#@%%%%%%%%%*****%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................+##%%%%%%%%%%@#**************#%%%%%%%%%%%%%%%%%%%%%%%%%%%@*********%%%%+==%%%%%***********************#%**************%%%%%%%%%%@#****%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................+##@%%%%%%%%%@#***************%@%%%%%%%%%%%%%%%%%%%%%%%%@#*********%%%%#+*%%%%#************************##************#%%%%%%%%%%@%*#**%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................-%%@%%%%%%%%%%%#**************%@%%%%%%%%%%%%%%%%%%%%%%%@#**********%%%%%%%%%%@**************************%#***********%%%%%%%%%%%%%****%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................#@%%%%%%%%%%%@#**************#@%%%%%%%%%%%%%%%%%%%%%%%%****#******#%%%%%%%%%%***************##*********##**********#%%%%%%%%%%%%@#*#*%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................=@%%%%%%%%%%%%%**************#%%%%%%%%%%%%%%%%%%%%%%%@***#%%*******#%%%%%%%%****************%#**********#**********#%%%%%%%%%%%%@#*#*%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%@#**************%@%%%%%%%%%%%%%%%%%%%%@#**%%@#*******#+#@%@%%*****************%***********##********#%%%%%%%%%%%%%@%*#*%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%@#*************#@%%%%%%%%%%%%%%%%%%%@%*#@%%%***********#*%*#****************#@************#*******#%%%%%%%%%%%%%%%%###%@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%@##************%%%%%%%%%%%%%%%%%%%%@*#%%%%%*******#+#*#*%*#****************#@#***********##******#@%%%%%%%%%%%%%%%**#@@%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%@%#**********##@@%%%%%%%%%%%%%%%%@###%%%%#**********#**%******************%%#************#*****#@%%%%%%%%%%%%%%%@#*#@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%@@%%######%%@@@%%%%%%%%%%%%%%%%@@%##%%%%*******#+#*#**%******************%%#************##**#%@%%%%%%%%%%%%%%%%@##%@%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%@%###%%%%*********#*#**%#+#**************#%%%*************#*#%@%%%%%%%%%%%%%%%%%@##%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%###%%%%%******#+%#****%#+#**************%%%%*************#%@@%%%%%%%%%%%%%%%%%%@##@%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%####%%%%%********%*#***#%+#*************#%%%%**************@%%%%%%%%%%%%%%%%%%%%@#@%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#####%%%%%******+%%*#***#%+**************%%%%%**************%@%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%######%%%%%*****+*%#*****#%#+************#%%%%%**************#@%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######%%%%%*****+#%******###+#***********%%%%%%#**************%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########%%%%%#*****%%*#****##%+#**********#%%%%%%#**************#@%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########%%%%%%***+#%#*#****##%************%%%%%%%#***************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%##########%%%%%%***+#%#******#*%#*#********#%%%%%%%#***************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%###########%%%%%%%#+*%%#******#*#%*#*******#%%%%%%%%%****************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##############%%%%%%#+#%%*#*******#%#*******%%%%%%%%%%%****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@###############%%%%%%*+#%#*#******+#%#*#***#%%%%%%%%%%%%****************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###############%%%%%%+#%%#*#********%%+##%%%%%%%%%%%%%%%*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#################%%%%%#+#%%**%%####%#+%%#+@%%%%%%%%%%%%%%%*****************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#################%%%%%**%%%*#%%%%%%%%+#%%+#%%%%%%%%%%%%%%%#*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@###################%%%%%=#%%#+#%%%%%%%%+#%%#+#@%%%%%%%%%%%%%#*****************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####################%%%#=#%%#+%%%######*+%%%**%#===++*##%%%%#******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#####################%%%*=%%%#+*--:::...+=#%%%#=*......::-+#%#******************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######################%@%**%%%*+-........++*%%+#=*-:--:.....:-*******************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########################%*####%*+-........+%+%#*#=+*****=......=*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#########################%%+=++**%-........=@@*==========*-.....-*******************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%@%##########################%##=#*=+*:........-%@%%*#=====++*:.....:********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%@%###########################%=#=+++*:.........-%%%@=++==+=*#+......:********************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%@%############################%##==+#:..........-%%%@::*==+***:......:*********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%@%#############################%#+===*-..........-%%%%:.-*===#=........+********************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%@%##############################%=====++..........:#%%%...-+++=.........+********************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%@%##############################%*=+====*:.........:#%%#......:..........+*********************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%###############################%+=#=+=-*:..........#%%*.................***********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%################################%==#=+#=+:.........:#%%*................:#**********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%#################################%=-#+-**+...........#%%+................-%***********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%##################################%#+*#+**:...........*%@+................+@#**********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%@####################################%@@%=-.............*%%-................#@#**********************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%@######################################@%%:..............*%%-...............:#%#***********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%@######################################%@%%-..............=%%:...............-%%%************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%@#######################################@%%%+..............=%%:...............+%%%************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%@%######################################%%%%%#..............-%%:..............:#%%%************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%@%#######################################@%%%%#:.............-%%...............-%%%@*************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%@########################################%%%%%%%-.............:#%:..............+%%%%**************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%@%#######################################%%%%%%%%+.............:#%:.............:#%%%@**************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%@%########################################@%%%%%%%#..............#%:.............-%%%%%**************************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%@@%#########%#############################%%%%%%%%%#:.............#%..............+%%%%@#**************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%#+===-----=+%#############################@%%%%%%%%%=.............+#.............:#%%%%@#**************************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%+----=------*#############################%@%%%%%%%%%*.............=#.............-%%%%%@#***************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%@*----========##############################@%%%%%%%%%%%-............-*.............*@%%%%@#***************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%#=--=+%%#====+%############################%@%%%%%%%%%%%+............:=............:%%%%%%@#****************************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%@+=--*@@%@*===##############################@%%%%%%%%%%%%#:............:............=%%%%%%%#****************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%@#=--+%%%@@*=-+%############################%@%%%%%%%%%%%%%:........................:*%%%%%%%%*****************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%=---*@@@@%===##############################@%%%%%%%%%%%%%@-........................:*@%%%%%%%*****************************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%@*--==##%%%+==+%############################%@%%%%%%%%%%%%%@=.........................=@%%%%%%%****************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%=====*+%#+===#%############################@@%%%%%%%%%%%%%@*.........................:%%%%%%%%****************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%@*-====+=*=-==+@@%%%@@@%%%##################%@%%%%%%%%%%%%%%@#............:.............*@%%%%%%*********#*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%@+===-=+=+--==#@%%%%%%%%%%%%%%%#############%@%%%%%%%%%%%%%%%#............::...........:#@%%%%%@*******##+#***************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%@#====-=+=**##%@%%%%%%%%%%%%%%%%%@%%#########@%%%%%%%%%%%%%%%%#:...........::...........==%%%%%%@****##*+=-*#*************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%@*====+****%@%%%%%%%%%%%%%%%%%%%%%%@%@@%%###%@%%%%%%%%%%%%%%%%%:...........:=..........--:#%%%%%@**##*=====+#************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%@*+*#%%===-+%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#%@%%%%%%%%%%%%%%%%%:...........:*:........--::*@%%%%@##*========#***********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%@@@@%%::--.=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%@-............#+......:=-...+@%%%%%*====---===#**********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%@*:....:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-............##:..:-==:...-*@%%%@=====-=+====**********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%@=......-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-..........:=%%*===-:....-+*%%%%@=====+%@@=-=*********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%-.......=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=........:==-*@*:......:=++=#%%%@====+@%%@*==*******#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%#:......--=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-=----===-..=@#:.....-=++-.*@%%@====%%%%@%==+#****#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%@#.......-*-=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*::----::....=%%=:::-++++-..=%%%%-==+@%%@@#==+#**#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%@*........-+*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*.........::=*%%%++++++-:...-%%%%-==*@@@@%*===##%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%@*.::......-%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-::::::-=+++*@%%++==-:.....:#%%%--=*%#%%*====%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%@*.-*:--::=%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*++++++++++=-%%%=...........#%%#--==*+##====*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%:-%*=%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*+++++==-::..#%%*...........*%%#--==--**+-=*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%@=:#@%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+:::::.......*%%#:..........=%%#--=---++*+#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%@%+#@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#............=@%%-..........-%%%--==--=**#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:...........=%%%*..........:#%%=-====**:=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@=...........:@%%#:..........*%%===+*+==:-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+...........:%%%%+..........=%@*#%#-..:.=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#............#%%%#:.........-%%@@%-.....=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:...........*%%%%:.........:#%%%*:.....-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-...........*@%%@-.........:#%%@-+:....=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+...........=@%%@*..........*%%%+-...-:=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:..........-%%%@#:.........*@@**:..:=-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@:..........:@%%%%:.........+@@*+...=+:*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=..........:%%%%@=.........*@@#-...=#--%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:.........:%%%%@*........:#@@@#-..=%#*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-..........#@%%@#:.......=%@%@@%=:-@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+..........+@%%%@-.:--=-=#%@%@%%@%#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:.........=@%%%@++%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-.........:%%%%@@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*..........*@%%@%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:.........=@%%@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-.........-@%%%@@%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+.........-@@%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#:..::---:+@@%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@==*#%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................:+++++++++++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-:::::::::::::::::::::::........................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................................................................................................................................................:::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................................................................................................................................................+++++++++++++++++++++-:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +..........................................................................................-++++-.................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.......................................................................................-#@%%%%%%%%%@#++-.........................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +...................................................................................-+@@%%%%%%%%%%%%%%%%%%%@#++...................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +................................................................................-+@@@%%%%%%%%%%%%%%%%%%%%%%%%@@@++...............................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................-------- +..............................................................................+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+-..........................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................++++++++ +...........................................................................-+@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+.......................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::...................................++++++++ +.........................................................................+#@@%%#*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+-..................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................................................-#@%%%%%+==*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@+-...............................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................................................+#@%%%%%%*=====*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+.............................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................................+@@%%%%%%%#======-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%@@+-..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................................................+@%%%%%%%%%%+-======--+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................................-@@%%%%%%%%%%#====+=-===-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%@+.........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................-#@%%%%%%%%%%%%====+#*=-=====+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%@+.........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +............................................................-@%%%%%%%%%%%%%+-==-*##*======-=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@@%%%%%@+.........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...........................................................#@%%%%%%%%%%%%%#=-==-*#++=========*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%@+.........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................................-@@%%%%%%%%%%%%%%==-===*#=-=========-+%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%@..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................................-@%%%%%%%%%%%%%%%*=====-*#+===========-=#%%%%%%%%%%%%%%%%%%%*+*%%%@%%%%%%%%%%%@..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................................-@%%%%%%%%%%%%%%%#======-+%*============-=%%%%%%%%%%%%%%%%%%****#%@%%%%%%%%%%%%+..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................................+@%%%%%%%%%%%%%%%%=-=======##====-=========%%%%%%%%%%%%%%%%%******@@%%%%%%%%%%%@+..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................................+@%%%%%%%%%%%%%%%%*-========*%###*+=========%%%%%%%%%%%%%%%%%******@@%%%%*%%%%%%@-..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................#@%%%%%%%%%%%%%%%%#=-=======-+**#%%#*==-===-+%%%%%%%%%%%%%%%%#******%%%%%#*@%%%%%@...........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................+@%%%%%%%%%%%%%%%%%+--============#%%##+====-+%%%%%%%%%%%%%%%%#++****%%%%@#*%%%%%%@...........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................-@%%%%%%%%%%%%%%%%%+--=======-+**+=#%#*=====-+%%%%%%%%%%%#*##%%*+++**%%%%%****#@@@#+..........................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................@%%%%%%%%%%%%%%%%%%=-========#%%*=+%#=+====-*%%%%%%%%%%***+*#%*+==+#%***#%**#@@%%@@@+-.......................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................@%%%%%%%%%%%%%%%%%%*-=======*%*#*=*#+**====-#%%%%%%%%%****++*%*=:-*%****##***#%%%%%%@@#+.....................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................+@%%%%%%%%%%%%%%%%%%========##=++=##*#+-====#%%%%%%%%%#********-:-*+=+**%**#**%%%%%%%%%@@#-..................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................-@%%%%%%%%%%%%%%%%%%#=====+*%#+===####=-====%%%%%%%%%%%****+=---:----+*%#*#@##%%%%%%%%%%%%@..................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................................@%%%%%%%%%%%%%%%%%%%+=====*###+-*%%#+=====+%%%%%%%%%%%#***+=-::::--+#%@##%%%%%%%%%%%%%%%%@..................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................................+@%%%%%%%%%%%%%%%%%%#====-==*##+###+--====+%%%%%%%%%%%@#****=::-:--+**%@%%%%%%%%%%%%%%%%@+..................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................................-@%%%%%%%%%%%%%%%%%%%*=====-=+###*=-======*%%%%%%%%@%@@@@%%*-:-+---=***@%%%%%%%%%%%%%%%#%-..................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................................#%%%%%%%%%%%%%%%%%%%%=-=====-+##+-=======*%%@@@@@@@@%@@#**+=-***+++***@%%%%%%%%%%%%%#*+*%-.................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................................-@%%%%%%%%%%%%%%%%%%%*-=======*%+-=======#@@@@@@%@%%%@#****++%%**+**#%%%%%%%%%%%%%#*++++*%-................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................................#%%%%%%%%%%%%%%%%%%%%=======-+#+-=======%@%%%%%%%%%@@*****+*%%%###%%%%%%%%%%%%%##*++++++*#................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................................-@%%%%%%%%%%%%%%%%%%%*=======-#+-=======%@@@@@%%@@@@%*+****%%%%%%%%%%%%%%%%%#*++*#+++++++#+...............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................................#%%%%%%%%%%%%%%%%%%%%=-=====-+*--=====+@@@@@@@@@@%%@%#*#%%%%%%%#%%%%%%%%%#*++++*#++++++++%-..............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................................-@%%%%%%%%@@@@@@@@@@@#========*=-===--*@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+**++++#*+++++++*#..............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................................#@@@@@@@@%%%%%%%%%%@@+--=======--=--=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*++++*#++++**++++++++#-.............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................................#@@@@@@@@@@@@@@@@@@@@@%=-------==+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+++++++**+++*#++++++++*#.............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................................-#%%%%%%%%%%%%%%%%%%%%%%%*==+**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+++++++++++#+++*#+++++++++%-............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*++++=++++++++**+++#+++++++++*+............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**++++++=--++++++++#*++#++++++++++%............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***++++++++=--=+++++++**++#*+++++++++#+...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................................-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***+++**+++++++=--=++++++++*++#*+++++++++*+...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +................................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###****###+++#+++++=++--=++#+++++**+#*++++++++++*...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#*+++*#**++++++#*+++=-=+=-+++#*+++++**#+++++++++++%...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***+*%*+*#*+++++++++**++++==+++++++#+++++*##+++++++++++#+..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................................-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***+++++++#****+++++++++++#+++++++++++++#++++++**+++++++++++*+..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................-+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***+++++++++++++*++*++++++++++++#+++++++++++++**++++++#+++++++++++*#..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................++%##%%%%%%%%%%%%%%%%%%####****%*+++++++++++++++++*-=*+++++++++++**+++++++++++++#++++++**+++++++++++%..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................+%+++****%********#**++++++++*@*+++++++++++++++++*=:-**+++++++++**+++++++++++++#+++++++**++++++++++%..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................+#++++++*#++++++++**+++++++++*##++++++++++++++++++*-:-=***++++++**+++++++++++++**+++++++*++++++++++#..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................+#++++++#*+++++++*#*+++++++**#***++++++++++++*++++*+:::-=+****#*+*+++++++++++++**+++++++**+++++++++%..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................+*+++++*#++=+++++*#*++++***++*=-#++++++++++++**++++*-::::-=#@@@%##*+++++++++++++*++++++++*+++++++++%+.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................#*+++++#*+=-=+++++#*++++*++++#--+*+++++++++++***+++**-::=*%@@@@@@@%#*+++++++++++*+++++++++*++++++++%+.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................@*+++++#++--++=+++#*+++++++++#-:-**++++++++++**%*+++**-*@@@@@@@@@@%%%*++++++++++*++++++++++*+++++++%@.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................@*++++*#++--++-+++#*+++++++++*--:-#+++++++++++*%%*+++#%@@@@@@%%%@@%%%%*+++++++++*++++++++++**++++++#@+........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................@*++++**++==++=+++**++++++++*+--::=*++++++++++*#%#*+*%%@@@@%%%%%%%%%%%#+++++++++**++++++++++**+++++%@#........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................@*++++#++++=+++++++*++++++++#-:::--+*++++++++++*%+##%%%@@@%%%%%%%%#*#%*+++++++++**+++++++++++*#+++*@@@-.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................-@#++++#++++++++++++#++++++++#--=*%#*%*+++++++++*#*:+@@#+#@%%#+#%%%#+*#+++++++++++*++++++++++++*#*+%%%%#.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................+@#+++**++++++++++++**++++++*#+#@@@@@@@%*++++++++*#--#-..*%%%*:+*#%#+**+++++++++++*++++++++++++++*#%%@%@-......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................@+............@##+++*+++++++++++++**++++++#@@@@@@@@@@@#++++++++++#:....#%%#=...+##*+++++++++++++*++++++++++++++++*#%@%@......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................-%*...........+%*#*++#++++++++++++++*++++++%@@@@@@%%%%@%*+++++++++**:...#%#-...:+***++++++++++++*#+++++++++++++++++*%%%%#.....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+#*-..........##*#*++*++++++++++++++**++++#@@@@@@%%%%%%*=**++++++++**:..*#*+:..:=***++++++++++++*%#*++++++++++++*#%%%%%%@-....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+**@.........-%##%#++*+++++++++++++++*+++*@@@@**%%%%%%%#::+*++++++++*%-.=+==:-=-=***++++++++*++++*+*##**+++++*#%%+=%%%%%%@-...#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+#%%#........+#*%#%***+++++++++++++++*+++#@@@#:+%%%++%%%-..=****+**#*=..-+====--=***++++++++%*+++#++*#**####***%:..+@%%%%%@-..#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+#%%@#.......%*#@=@**++++++++++++++++**+*@@@#:.=%%#-:+*%+...:-+***+-:...:*==-:::-*#++++++++*%#+++#+++#++++++++%+...-@%%%%%%%+:#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+#%%%@+.....+%*%+.+%*+++++++++++++++++*+#@@%-..:%#=:..=#+................++=::::=#*+++++++*%%%++*#+++#*++++++*#.....%%%%%%%%%#%%%%%%%@@%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+#%%%%@#....%###..-%#+++*+++++++++++++*#%%##:...#*:...+++................=+-:--=**+++++++*##%%++*#+++#*++++++%-.....%%%%%%%%#%@@@@@@@@%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+##%%%%@#-.+%#%-..+@#++*%*+++++++++++++###++-...+*+:..-=+:...............:+=-=--*+++++++##**%#*+##*++#*+++++##......%%%%%%%%%%%%@%#@@%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................+##%%%%%%@#####++@@%#++###++++++++++++++###:....:+=--===+:................:=::.-*+++++*#*++*%%**#**++#*++++*%.......%%@%%%%%%%%%%%+@%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................%*%%*#%%%%%#%%@%%%%#++#+#*+++++++++++++*##=.....+==---=*:....................:**+***#*+++++%%*##*#*+#*++++#-.......%##%%%%%%%#%%#%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................##%%##%%%%##%%%%%%%#+*#+*#++++++++++++++*##.....-+-:::-+-...................-*%#*+%*+++++++%%#%*#@*+#*+++**........%#+#%%%%%%#%%*@%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................-%#%%%%%%##%#%##%%@#+**++#*+++++++++++++*##-.....==----=:...................:-::.-*+++++++*%%%##%##*#++++#-........%#+.%%%%%%%%#*@%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................-*@@%%%%##%###%%@##+#*+++#*+++++++++++++*%+......-----..............-:..........=*+++++++*%###%**##*+++*+.........%#+.-@%%%%%%##@%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................++#@%%#%%%%%#@#**+#+++++#*+++++++++++++**.......................:--..........:*++++++++*%*#%#+*%#++++#.........+%#+..-#%%%%%+%@%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................-@###++-.=%*+#*%++++++#*+++++++++++++*+:................-=-----...........=*+++++++*#%#%##+*%*+++*-.........+##+....+%@@@@@%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...........................................+#%....-%*++#*#+++++++##*++++++++++++**=:...........:--=:...............+#++++++++*#@#-+%+++++++%..........+##+......:%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...........................................*##...#%*+++*##++++++*%#%#*++++++++++**=:............::...............:*%*++++##***#+..+%++++++#@..........+##+.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................-##+++@%*+++++#%++++++##*%@###**+++*#%@+.............................:+##%++++#+=##*%+..+%++++++#@..........=##+.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................+#%:++@%*+++++*%+++++##+*%#*#########%=%=..........................:=***%*+++#=..:##%+..+%+++++##@..........**#+.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................%##....+#%#*+++#*+*#%#++*%#***#******%.-+#+:.....................:+#*++*#+++*+....:#%+..+%++++*##@..........%*%+.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................-#%+......-#@%#%%####*+++#%##*********%....+*#+-:..............:-=##*+***#+##+:.....-@+..+%++++###%.........+#*#........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................+#%............+@*+++***#%-=%#*******#+.......-+*#**+++======++==+#*+*#%%**+::.......#+..+%+++*###%.........+##%........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................*##............+@+*#**++*=..=##******#+..............-++#@@###*=+#*++*#*%+*=...:::...*#-.+#+++#*##%.........%###........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................%#+............+@*%-.....:...=#******#+..............++%%@%****##*+**%**#+*+--::::::.-@%###++*#*#*%........-#*#+........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................+#%.............+%+#:.....-...:*##****#............#@@@%%%%###**+***###%%%#%%%%%#+-:..-%*#@*+*##*#*#+.......+#*%-........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................+#%.............#%*#=.....=....=%%##*#%............@%%%%%%%%%##########*#@%%%%%%%%#+:.+#**%*+*#*##*#+.......%*#%.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................%#+........-+..-@#**+.....=:...=@%%#*#+...........+@%%%%%%%@%########**#%%%%%%%%%%%%#+#***#*+##***##%......+#*##.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................%#+........%@@@#@#%%+....:=-...*%#%%##-..........-@@%%%%%%%%#######**+*@@%%%%%%%%%%%%%%#**##*##*****%-.....*#*%-.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................%%-.........#@@%%###=....:-:..+%%%%%%%...........#@%%%%%%%%%#*++*#*++*%@%%%%%%%%%%%%%%%%%##%#*##****##....-#*##..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................#%...........+@%%##%=....-:..=#%%%%%%@#..........@@%%%%%%%%%%*+*###**#%@%%%%%%%%%%%%%%%%%%%@#*##*****%-...%#*%-..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+#%...........-@#####-...::..-#%%%%%%%%@-........+%%%%%%%%%%%%####**##%%@%%%%%%%%%%%%%%%%%%%%%#*##****##..##*%#...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+##...........##***#*+..::..:#%%%%%%%%%%@-.......%#%%%%%%%%%%%%#*++*#%%%%%%%%%%%%%%%%%%%%%%%%%%####***#%--%##@-...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+%+..........+%#***#+#-....:*%%%%%%%%%%%%@-.....-##%%%%%%%%%%%%*++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***#@%*#%-............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+%+.........-%#****#+**-...+%%%%%%%%%%%%%%@.....*#%%%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**##*#%+.............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+%+.........%#*****#++*#-.=%%%%%%%%%%%%%%%%+...+%*%%%%%%%#*#%%%@%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**#*...............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+%+........#%#*****#*+++#*#%%%%%%%%%%%%%%%%%-..%**%%%%%#+**+=*%#*@%*==#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#%-...............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+%-.......+%#******#++++#%#%%%%%%%%%%%%%%%%%@-+#*#%%%%%+***##=+=-**+##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#+...............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................%.......-%##******#+++*%%%%%%%%%%%%%%%%%%%%@#%**#@%@@%=+*++%===--=#==%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***#%...............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................@-.....:%#********#+++#%%%%%%%%%%%%%%%%%%%%%@#***%##*#*=*##+==*+=-+##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***##+..............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................#+.....%#*********#*+#%%%%%%%%%%%%%%%%%%%%%##%*****#**##*++*#+##+*+=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***##%..............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................++....#%**********#**%%%%%%%%%%%%%%%%%%%%%@**##****#****#%%%++#*+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#**###+.............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................-@...+%#**********#*%%%%%%%%%%%%%%%%%%%%%%#***##***#*******#+=##+%**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*******%.............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................#+.-%#***********#%%%%%%%%%%%%%%%%%%%%%%%*****##**#********##**%#***#%##%%%%%%%%%%%%%%%%%%%%%%%%%%********#+............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................%+%#************%%%%%%%%%%%%%%%%%%%%%%%#******##*#*****###**##%%%%###****#%%%%%%%%%%%%%%%%%%%%%%#*********%............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................+@#************#%%%%%%%%%%%%%%%%%%%%%%%********###***%@%@@%*#%@%#%@%*******##%%%%%%%%%%%%%%%%%%%#*********#-...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................##************#%%%%%%%%%%%%%%%%%%%%%%%#*********#%**#@#***%%@%#***#%***********##%%%%%%%%%%%%%%##***##****#*...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................##************#%%%%%%%%%%%%%%%%%%%%%%%#***********#***%#**#%#%%****%%***************##%%%%%%%%%%###*##%#****#-..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................+%************#%%%%%%%%%%%%%%%%%%%%%%%%************##**#%%@@%*#%%%@@@#**********************#%%%#******%%****##..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................+%*#***********#%%%%%%%%%%%%%%%%%%%%%%%**************#****###*****#####**********************#####******%@#*#**%+.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................-%#***********##%%%%%%%%%%%%%%%%%%%%%%%***************#************##*#***********************%#*#*******##%#***##.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................##*************##%%%%%%%%%%%%%%%%%%%%%#***************#**#@@@%#**#@@@@%**********************%%#*********#++%***#%.........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................+%***************##%%%%%%%%%%%%%%%%%%%#****************#*#@#**#%#%@#**#%*********************#@#**********#+.##***#+........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................-%#*****************#%%%%%%%%%%%%%%%%%#*****************#*#@****%@@%****%*********************%%#*#********#+.-%#**#%........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................%#*******************%@%%%%%%%%%%%%%%%******************#*#%###%@##%%%%%%********************#%%#**********%+..##**#%-.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................##****#***************#+%%%%%%%%%%%%%%*******************##*%@@@%#***#%@%%********************##%#**********%+..-%***##.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................-%****#%***************#..#@%%%%%%%%%%#*******************##*************#%********************%%#**********#%-...*#***%-......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................%#***#@#***************%...+%%%%%%%%%%********************##*****####*****%*******************%%#***********#%.....%#**#+......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................+%***#%@#***************%....-#%%%%%%%*********************##****%%%%%%#***%******************#%#************#+.....+#**#%......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................%#***#*%****************%......+%%%%@%*********************%***#%%%%%%%@**#%******************%@#************%-.....-%#**%-.....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +................................##***##+%****************%........#@#+@%*******************##***%%%%@%%%%#**##****************%##%#***********%.......+#**##.....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................-%#**#%.+%****************=.............+%#****************##***#%%%+=#%%%%***#%#**************%**%#**********#+.......-%**#%.....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................+#***#-.-%***************#=..............-#%#**************%****%%%%+=#%%%%*****%#************%#**%#**********%-........##**%+....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................%#**##...%***************#=................-#%%***********#%****%%%%%%%%%%#******#%#*********#%***#%#********##.........+%*##+....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................+%#**%+...%#**************#=...................+#%#********##****#%%%%%%%%@*********##%######%%******%#*******%-..........%###%....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................##**#%....@#**************#=.....................-+%%#***#%%******%@%%%%%@#*************######********##*****#*...........+%##%....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................%#**%+....+#***************=........................+#%%%@%%*****#%##%@%@#*****************************##****%-...........-%##%+...#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................+%**#%.....-%****************..........................=#@#%%****%%*+###+#*******************************##**#%.............@##%+...#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................+#**##......%#**************%........................-+@%##@#**#%*+##*#**********************%%***********###%-.............+%#%+...#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................##**%+......+%**************#......................+@@%##%%%*#%#+*#**##+#*******************#@%************#%+..............-%#%+...#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................@#*#%-.......##*************#-...................+@%#**#%%%%%%#******%**********************%%@*************#*...............%#%+...#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................%#*#%........-%#************#+.................#%%#***%%#####**#****#%+#*******************#%%%#*************#%..............@#%+...#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................%#*#+.........-%#**********##*...............+%#***#%%%##*##+*******%*+********************%%%%%**************#*.............@#%....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................%#*%+..........-%##**********%-............+%#**##%%%%#####********#%+********************#%%%%%#***************%-...........%%#....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................@#*%+...........-#%##********##..........+%%###%%####**#%#*********%#=********************%%%%%%%****************%+.........+@@-....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................+%#%+.............-#%##***##**%@+......-*#########%#*##%**#*******#%*+*******************%%%%%%%%%****************#-........#@#.....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................+%#%+...............-#%%######%@@+....+%##########**#%%**%#*******%%+*******************#%%%%%%%%%%****************##......#@#......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................-@#%+....................++++-......-%%%########*+#%%#+*#%#******#%#+******************#%%%%%%%%%%%%****************##....*@+.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................@#%+.............................-#%%#########+*#%%#+*##%#******%%#+*****************%%%%%%%%%%%%%%%#***************#*.............#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................-%%@:...........................#@%#########+=#%%%#+*%##%%******#%*+***************#%%%%%%%%%%%%%%%%%#****************%-...........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................-%@%+........................+%%##########++#%%%#=*#####%******#%+***************%%%%%%%%%%%%%%%%%%%%#****************#+..........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................................-#%###########++#%%%#++######%%*****##+*************#%%%%%%%%%%%%%%%%%%%%%@%****************#*-........#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................................#%############=+##%%#+=#######%@%#***##+**********#%@#@%%%%%%%%%%%%%%%%%%%%@#%#****************%+.......#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................................-#%############=+#%%%%+=########%%%@%**%#+#****##%%%%%:+@%%%%%%%%%%%%%%%%%%%%@..#%#***************%#-.....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................................+%#############+=#%%%%*-*#########%%%%+#%*+%@%%%%%%%%%%.+@%%%%%%%%%%%%%%%%%%%%@...-@%***************#%+....#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................-#%#############%+#%%%%#=+%#########%%%#+#%*+%%%%%%#%%%%%:@%%%%%%%%%%%%%%%%%%%%%@....-@%#***************#%+..#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................-%##############%*#@%%%#==###########%%%#+#%*+%%%%%%%%%%%@:@%%%%%%%%%%%%%%%%%%%%%#.....-@%###**************%#-%%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................#%###############%++%#%%#**%##########%%%*+%%*+%%%%%%%%%#%@:@%%%%%%%%%%%%%%%%%%%%@+......-@%#####************#%@@%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +................................................-#%################%+=#%#+=*@###########%%%*+%%*+%%%%%%%%%%%@:@%%%%%%%%%%%%%%%%%%%%@........-%#####%###***********%@@%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................-%###################*=+*==*%############%%%++#%*+%%%%%%%%%%%@+#=---=+*#%%%%%%%%%%%%@.........+%########%#####*******#@@%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................................+%####################%+=-=#%#############%%%++%%%#%%%######%%+++.......:-+*#%%%%%%%@+..........#%############%%%##*****%@@%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................#%####################%#====*%#############%%%*+%+#=*=-::::::-+++=...........:-+*#%%%@-...........#################%%##****%%@%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +............................................*%######################=+==-=+#############%@***#+*=*:........-++-...............:=#@#............-%###################%##***%@%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...........................................#%#####################%++#=+=+++%#############:-*=+*=#++=-:....-+*-.................-@+.............+%#######################***%@%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..........................................#%######################%+=#=++=*+##############:.-+*======**....=+%:.................-#...............###########################*#%@%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................................#%#######################%+=*==*==*%#############:..:*==-=--++....=+#:.................+-...............-%#############################%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +........................................#%##########################+*#+*##%##############-..:*===+*+*-....=:#:.................#.................#%#############################%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.......................................#%##########################%%%%%%%##############%%-..:*==*=++*.....+:*.................--.................-%############################%##@%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................-@###############################################%##=...+=-+*#*-.....+.+.................+...................+%###############################%%+::::::::::::::::::::::::::::::::..........................++++++++ +.....................................+#@%%%%%%%%#####################################%%-.++...=+=-=#-......+:+................:=....................%################################%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................%%**+======++#%%################################%+...+*....=**=:.......*.=................--....................+%###############################%%*:::::::::::::::::::::::::::::::..........................++++++++ +...................................+#=--=---------=+%##############################%-....-*................#.-................*......................#################################%@+::::::::::::::::::::::::::::::..........................++++++++ +...................................%=----==---====-+%#############################%-......#:...............#.:...............:+......................+%#################################%*:::::::::::::::::::::::::::::..........................++++++++ +..................................+#=-----=+=-=====*%############################%-.......%:...............#.:...............+-.......................%############################%%%%%%%%#:::::::::::::::::::::::::::..........................++++++++ +..................................#+====-=#%++=====#############################%-........*-..............:=-:...............*........................+%#########################%#*+==-=-+%#::::::::::::::::::::::::::..........................++++++++ +.................................-%=====+%-..++=-=+%###########################%-.........+=..............:=-:..............=+........................+%#########################%*=-=======#=:::::::::::::::::::::::::..........................++++++++ +.................................+*=====%-....#--=*###########################%-..........++..............-+-...............*.........................-@##########################%*-====---=*=::::::::::::::::::::::::..........................++++++++ +.................................%+--==*#.....%=-=###########################%+............+..............-+-..............-+..........................@%%%%%%%####################%+===-===--*=:::::::::::::::::::::::..........................++++++++ +................................-#=--==%+...-##=-*%#########################%#.............*..............-++..............+-..........................-#+++++++@@@@@@%%%###########%+===*@%*==*=::::::::::::::::::::::..........................++++++++ +................................+*=====#%@@@%#+-=###########################%-.............%:.............-++..............#....................................:%%%%%@@@@@@%%%#######=-++@-#+-=*=:::::::::::::::::::::..........................++++++++ +................................#======+#*%#**=-=%#########################%+..............*-.............=+-.............-+.....................................#%%%%%%%%%%@@@@@@%%#%+-++%:*#--=*=::::::::::::::::::::..........................++++++++ +................................%=======*-###+-=+%########################%#...............-+.............-%-.............*-.....................................#%%%%%%%%%%%%%%%@@@%%#-=*##%#---=#=:::::::::::::::::::..........................++++++++ +...............................-%=-===--*:#+++++*#%#######################@-................#:............-%-............:*......................................#%%%%%%%%%%%%%%%%%%@@@=-+%@%+----=%=::::::::::::::::::..........................++++++++ +...............................+@*+==--=+-#*+-::::-+#####################%#.................*-............-#:............=-......................................#%%%%%%%%%%%%%%%%%%%%@*-**%+=-----+%::::::::::::::::::..........................++++++++ +...............................-#@%%*+=#*#*-:.-:....-#%##################@-.................+=............:*:...........:*.......................................#%%%%%%%%%%%%%%%%%%%@@@#%**==--====##:::::::::::::::::..........................++++++++ +...................................++@%*==:-=::=-...:#@@@%%%############%@..................-*............:+:...........==.......................................#%%%%%%%%%%%%%%%%@@%##%*##*=--======%:::::::::::::::::..........................++++++++ +.....................................+#:.=..:=::=-:..-%*+++@@%@@%%%%%%%#%#...................#:............+...........:*-.......................................#%%%%%%%%%%%%%%%@#-:::::-:-+#+======##::::::::::::::::..........................++++++++ +.....................................-%::-...=-.:*=:.:%-......-++++#@@@@@+...................%:............-...........-#........................................#%%%%%%%%%%%%%%@+:......-==+*%%*+===%@::::::::::::::::..........................++++++++ +......................................+*==...=-.:=*-..++...............-+....................#-............:...........==........................................#%%%%%%%%%%%%%%=.........:-#::+*%#*##=::::::::::::::::..........................++++++++ +........................................-**::+-:.-*+..:*+....................................++........................==........................................#%%%%%%%%%%%%@=...:+=.....:%:::::+*+::::::::::::::::::..........................++++++++ +..........................................-*-+::::++:.:#*....................................++........................=+........................................#%%%%%%%%%%%@#:-:-+-:.....+*::::::::::::::::::::::::::..........................++++++++ +...........................................+#=:.::++-:=+++...................................+=........................-+........................................#%%%%%%%%%%%@--=-+:......:%=::::::::::::::::::::::::::..........................++++++++ +...........................................+#:.:.:+=+*+:++...................................%-........................-+........................................#%%%%%%%%%%@%-+-+-+=.....+*:::::::::::::::::::::::::::..........................++++++++ +...........................................#+....:+=-:..*-...................................%-........................-=........................................#%%%%%%%%%%@#-+==*@-....:%::::::::::::::::::::::::::::..........................++++++++ +...........................................*=....==+:..-%....................................%:............:...........-=........................................#%%%%%%%%%%@#-+#%@@+....*=::::::::::::::::::::::::::::..........................++++++++ +...........................................-%+::=*++..:#+....................................%-............-...........:=........................................#%%%%%%%%%%@%*%@%%%%-.:=#:::::::::::::::::::::::::::::..........................++++++++ +.............................................#+-+-=-=#%#.....................................#:............-...........=%........................................#%%%%%%%%%%%@@@%%%%%@*+%=:::::::::::::::::::::::::::::..........................++++++++ +.............................................-*#**#%%#-......................................%=:...........-..........==#........................................#%%%%%%%%%%%%%%%%%%%%#*#::::::::::::::::::::::::::::::..........................++++++++ +...............................................-++-..........................................#===::.......:+:.......-=-.*........................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................#:.:-==-======**-::::-=-:..++.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................%-:....::::::.+#--=--::...:*+.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................%*+=-::.......=#:.......:-+*+.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................%++*+++===---=*%=:...:-=++++=.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................%--==++*++++++##*====++++=::#.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................%-...::---===-=+#++++++=:...#.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................+-............-+#----::.....+.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.............................................................................................++............-+%:..........+.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................................................................................#:...........:++-..........=-......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................................................................................%:...........:%++..........=+......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................................................................................#=...........:%*#..........=+......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..............................................................................................++...........:%=#:.........-+......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................................................................#:...........#:%:.........-=......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................................................................*-...........#+%-.........-=......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................................................................+=...........**@=.........-=......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...............................................................................................-*...........++@=.........-=......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +................................................................................................%:..........=+@=.........-+......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +................................................................................................#-..........-#@=.........=+......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +................................................................................................++..........-@@=.........++......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................................................................................#:.........:@@=.........+-......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................................................................................%:.........:%@=.........*.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................................................................................#=.........:%@=.........*.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.................................................................................................+*.........:%@=........:#+......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................................................................#:....:-==-*@-..:::...:%@......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................................................................%-.:+*#%%%%%@*+*###*+--%@......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................................................................#==%%%%%%%%@@%%%%%%%%%#%@-.....................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................................................................+##%%%%%%%%%@%%%%%%%%%%%@+.....................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................................................................+@%%%%%%%%%%%%%%%%%%%%%%%+.....................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................................................................+%%%%%%%%%%%%%%%%%%%%%%%%+.....................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +..................................................................................................+@%%%%%%%%%%%@%%%%%%%%%%%+.....................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +...................................................................................................#%%%%%%%%%@@@@%%%%%%%%%@+.....................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +....................................................................................................-#%%%%%%#-.-+#@@%%%%%@-......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +......................................................................................................::..::......::::::::.......................................#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::-=======================================================================================================================+++++++++++++++++++++-:::::::::::::::::::::::........................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................................................................................................................................................:::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................................................................................................................................................+++++++++++++++++++++-:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................................................................................................#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.............................------------------------------------------------------------------------------------------------------------------------------------*####################+===============-:::::::........................................... +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::........................................... +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%**##%@@@@@@@@@@@@@@@@@%@@@@@@####*+++++++++++++%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::........................................... +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%+=#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@###*++++++#@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::...................................-------- +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++*###@+---+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#*+*@@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::...................................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++*#%@@@@*-----=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:::::::...................................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++*#@@@%%%%#=-==--==+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++*#@@@%%%%%%#===+*=-=--+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++*#@@%%%%%%%%%%+-==*%#=-==-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++*#@@%%%%%%%%%%%+-===###*====-=+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++*#@%%%%%%%%%%%%%*--===##=========+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@%%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++*#@%%%%%%%%%%%%%%#======##=========-=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++*#@%%%%%%%%%%%%%%%%=======*#==========-=#%%%%%%%%%%%%%%%%%%%%%%%%##%%%%@%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++*#@%%%%%%%%%%%%%%%%%+=======*#+==========-=%%%%%%%%%%%%%%%%%%%%%%****%%%@%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%*========+##+==-=======-%%%%%%%%%%%%%%%%%%%#%*****%%%@%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%#==========#####+=-======%%%%%%%%%%%%%%%%%%%%#*****%%@%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%+-===========+#%#*=======%%%%%%%%%%%%%%%%%%%%******%%@%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%#=========-=+==+#%##*=====%%%%%%%%%%%%%%%%%%%%******%@@%%%%%@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%*==========#%##=*#%#+=====%%%%%%%%%%%%%%%%%%@#*+=+**@@@%%%%#@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%=-=======+%###==##+======%%%%%%%%%%%%%#****#%*=:=*%%***#%##@@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%*-=======##==*=+#*+*===-=%%%%%%%%%%%#*+*****#*-:+*#*+***%#%%@@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%=-===+*#%#+-==*#*#*===-+%%%%%%%%%%#*******+++-:++=+****%*#**@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%*-===-=*#%#=-=####+-==-+%%%%%%%%%%#******+----:-::=***##***%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%=====-=+###=*#%#+====-*%%%%%%%%%%%#*****+--::::-=+**##***%%@@@#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%*-====--=*####*=======*%%%%%%%%%%%%%#****+-::::=*#%%#*****%%%%@@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%#=-=====-=*##*========#%%%%%%%%%%%%%@@%#*+--==--+*##**#%#*%%%%%%%@@%*++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%+-======-=##+========%%%%%%%%%%@@@@@@#**+-+*+==***%%#%%%%%%%%%%%%%%@@#*+++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%#========-*#+========%%%%@@@@@@@%%%@#****+##******%%%%%%%%%%%%%%%%%%%@@%*+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%+-======-=#+========%@@@%%%%%%%%%%%*****+%%******%%%%%%%%%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%#-======-=*+=======+@%%%%%%%%%%%@@%****+*%%#****#%%%%%%%%%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%========-++======-+@%%%%@@@@@@@%%%#***#%%%%%#*#%%%%%%%%%%%%%%%%%%%%@%*++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++*@%%%%%%%%%%%@@@@@@@@@@%*-===----=+====---*@@@@@@%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##@*++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++#@@@@@@@@%%%%%%%%%%%%%%%=-==----===--===+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*++#%++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++*%%%@@@@@@@%%%%%%%%%%%@%@#--======++**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*++++++%#+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%@@@@@@@@@%#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*+++++++++*%*++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**+**++++++++++#%++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**++++++#*++++++++++%#+++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+++++++++++#++++++++++*@+++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*++++++++++++++*#++++++++++%*++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*+++++++++++++++++++**+++++++++*%++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*++++++++++==+++*++++++++**+++++++++%*+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*#*+++++++++++=--+++*+++++++++*+++++++++##+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++*#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####**###*+**+++++++++++=--=++**+++++++++*++++++++*%+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++*##%@###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####***%#++*****++++#++++++++==+=--=++**+++++++++**++++++++%*++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++%#+++**%#%##########%%%%%%%%%%%%%#%######****++++++++#*##*++++++++**+++++++-=++=-=+++*++++++++++**+++++++#%++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++@*++++#**#++++++++++*#********+*#=*++++++++++++++++++*+##++++++++++#+++++++--++=--+++#+++++++++++**++++++*@++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++*%++++*#+#++++++++++++#*++++++++*#-*+++++++++++++++++++*-+*+++++++++**++++++==+++==+++**+++++++++++***+++++%*+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++##++++#+**+++==+++++++#+++++++++*+-+*++++++++++++++++++*=-+*++++++++**++++++++++++++++**+++++++++++++**++++##+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++##+++#*+#+++=-=++=++++#+++++****%*++*+++++++++++++*+++++*--=**+++++++*++++++++++++++++**++++++++++++++*#*++##+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++##++**+*#+++=-=+=-=+++#++++*****#===*++++++++++++**+++++*=:-=***+**++**++++++++++++++++*++++++++++++++++*###%#++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++#*+*#++#*+++--=+=-=+++#++++++++**-:-+++++++++++++***++++**-::-*%%%#*+**++++++++++++++++*++++++++++++++++++*#@@++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++#*+#+++#++++--=+++++++**+++++++#=:-:=*+++++++++++**##++++*+=*#@@@@@%%##++++++++++++++++*+++++++++++++++++++*@*++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++###*++**++++++++++++++**+++++++#---:-*++++++++++++*%%#+++*%%@@@@@@@@@@@#+++++++++++++++*++++++++++++++++++*%@+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++#%*+++*++++++++++++++++#++++++#+::::-+++++++++++++*%*+#**%%@@@@@@@@@@@@%#++++++++++++++*+++++++++++++++++###@+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++*@*++++*++++++++++++++++#++++++#----::=*+++++++++++*#*-+%@%%%@@@@@@@@@@@%%#+++++++++++++*+++++++++++++++*#*+#%+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++*%*++++**++++++++++++++++**++++*+:-:----++++++++++++*#*-#@@@@%@@@%%%%%%+%@%*+++++++++++++*+***++++++++**##+++%#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++%%*+++++*+++++++++++++++++**+++*#=:-+#%%##*+++++++++++##+@@%+-=@%%%%%%%%+-%%*+++++++++++++*++#%#########*+++++%#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++%%*++++++*++++++++++++++++++*+++#+#*%@@@@@@@#++++++++++*%=@#:..+%%%%%%%%%%:*%++++++++++++++*+++#*+****+++++++++%#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++*%#++++++++*++++++++++++++++++*++#**@@@@@@@@@@%*++++++++++%**....*%%%#-+%%%%-*#++++++++++++++*+++*#+++++++++++++*%#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++*##%*++++++++**++++++++++++++++++**#%%@@@@@@@@@@@@#++++++++++#+.....*%%#*:-+*%%=**++++++++++++++*++++#+++++++++++++*%#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++*@#++++++++++*++++*+++++++++++++++#@@@@@@@@%%%%%%%%#+++++++++*#.....*%*:....+#%+*++++++++++++++**++++**++++++++++++*#@*++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++%%++++++++++*+++*%*++++++++++++++#@@@@@*%%%%%%%%%**++++++++++#-....*%#+...:+++=*++++++++++++++*+++++*#++++++++++++*#@%*+++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++##+++++++++*+++#%*++++++++++++++*@@@%=:%%%%#%%%%*-*+++++++++**....+*++-..:==+=*++++++++++++++#*+++++#+++++++++++*##%%@%*+++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++*%*+++++++#++*#*#++++++++++++++*@@@=.-@%%#-*%%%#::+*++++++++#-...=+==--=-==+=*++++++++++++++#*+++++#*++++++++++*#*%%%%@@##**##++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++*%#++++++#++#*+%*++++++++++++++#@=..-@%#*:-+*%#:..=***+++++**:..-*========*=*+++++++++++++*#**++++#*++++++++++##*%%%%%%%%*#@%++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++*#%#*+++#+*#++##++++++++++++++*#:..-%%=....=*#:...:-+******#+..:*===-:::=*+*+++++++++++++##**++++*#++++++++++##*%%%%%%%#=#%+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++*%@%###+##*#%%*++++++++++++++##..:%#+:..-+=*:........:::::....++=-::::-**++++++++++*#++#**##*++*#+++++++++*%**%%%%%%%%+@*+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++*+++++++++++*%@#**#+%@#**+#*+++++++++++++*#:..*+==.:-==*:.................:*=::::-==*++++++++++#*+*#**#%#++*#+++++++++#%**%%%*#%%###++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++#@%*++++++*#@@%%#++%*%%*+++*#++++++++++++++*-..=+==-====+...................=*--==-:+*+++++++++*%*+##**%*#*+##+++++++++%%#*%%%#%%%*%*++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++*#*%@#####@@%%%%*+*%%%%#++++*#*+++++++++++++*:.:*==----=+...................-+=-:..:*+++++++++*%%**#**#%+*#+#*++++++++*%@#*%%%%%%%*@+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++%=#@@@@@%%%%%%%*+#%@%%@++++*##*++++++++++++*+..++=::::=+..........................+*+++++++*#%#%*##**#*+*#+%+++++++++##@#*#%%%%%%*#+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++%*#%%%%%%%%%%%%*+%%%@@%*++*#*+*#*+++++++++++*+.:*=::::==.........................=*+++++**##%#####**##+++%##+++++++++%*@#*%%%%%%#*#+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++*%*%%%%%%%%%%%%+*%%@%*##++#*++*####*****+***#%+.-+====-.........................=#****###**+%#%%#*#%#++++%%+++++++++*#+%#*%@@@@%**@+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++%*%%%%#%%%%%%%+*%@%++*%+#*++****##%%#%##%%+--:...::::...............::........:+++##**+++++##%%*#%%+++++#*+++++++++#*+##*%#*#@@%@%+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++*%*%%%#%%%%%%#+%%#++++%*#+*%%#***#%#*#***#=..................:===--=+-...........:#++++++++%*#*#%%%+++++++++++++++*%++###%#++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++*##%%%%%%%%%#*#++++++##**%#%#***%#******#+................:+==--==-+:...........+*++++*+++%%%%%*##+++++++++++++++##++###%#++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++%#%%%%%%%%@*##++++++#@#%*+##**#%#******#*.................-=-------..........:+#++*####*#@@%#++#*+++++++++++++++%*++##*%*++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++%*#%%%%@%@*%*++++++#@%*++*%##%#*******##-.................-==---:..........-#@**#+-:+*=-=*%*++%*++++++++++++++*#+++###%+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++#*#%@%**%*%+++++++#@#+++++#%%*********##:..................::::.........-*#%%#*:..==....:*%++%+++++++++++++++%*+++##*%+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++###*++*%##+++++++#@#++++++%#********#*%*:............................-*#**@*#:..-=......=@++%++++++++++++++*%++++##*%+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++##%*+++++++#@#+++++*%**#*******#%%#-.........................-*@%**%@#*...+:......*%+*#++++++++++++++##++++##*%+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++###+++++++++##*++++##**#*******#@*#%#+-...................:-*%##@##@%@=..-=......:##+##++++++++++++++%*++++###@+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++@@*+++++++++@##***#%####*******#%+++*#%#*=::...........:===*#*++#%@%%%-..+:......:%#+#*+++++++++++++*#+++++####+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++*@@++++++++++@%%*+++#%#####*****##++++++*##%%##*+===+++-+=-*#*+++*@@%%%:..+-:.....:%@@%*+++++++++++++%*+++++####+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++#@%+++++++++##=:....:+-.:+#*****%#++++++++++++*%%@@%%###=-*#+++**#@%%%%:..-+=:....:#%%%%*+++++++++++*%++++++##%#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++#@#++++++++##:.......:-...+###**%#+++++++++++*#@@%%%%%**###+++###%@%%%%:...:-::....*%%%%%#++++++++++#*++++++##%#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++*@@*++++++++#*........:=...:#@%#*%#++++++++++%@@%%%%%%%****+++*%*%%@%%%%=....:::::..+%%@@%%#+++++++++%+++++++##%*+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++#@%+++++++++*%:.......:+...=%%%%#%#+++++++++#@%%%%%%%%@%#***##%##%%@%%%%#:....::::..=%%%%%%%*+++++++##+++++++##%++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++#@#++++++++++#*......:-=..=#%%%%%#%++++++++*@@%%%%%%%%%#%%%%####%%%@%%%%%+..........=%%%%@%%#+++++++%*+++++++%##++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++*@@*+++++++++*@%:.....:==.=%%%%%%%%@++++++++%@%%%%%%%%%@%######**#%%%%%%%%%-........=%%%%%%%%%*+++++*#++++++++%##++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++#@@++++++++++#%%-.....:=-=#%%%%%%%%@*++++++%%%%%%%%%%%%%******++*%%%%%%%%%%#:.....:*%%%%%%%@%%*+++++%#++++++++%%#++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++#@#++++++++++@#%=....:::+%%%%%%%%%%@#+++++%%#%%%%%%%%%%%*+##**+*%%%%%%%%%%%%+....=%%%%%%%%%%%%%++++*%#+++++++*%%*++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++#%#+++++++++#%*#*:....:+%%%%%%%%%%%%@*+++%%*#%%%%%%%%%%%###**###%%%%%%%%%%%%%+...*%%%%%%%%%%@%%*+++*%#+++++++#%%+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++%%#+++++++++@#**##+:..+%%%%%%%%%%%%%%%++%%**%%%%%%%%%%%%@#*++*#%%%%%%%%%%%%%%%+..#%%%%%%%%%%@%%#+++#%#+++++++#@#+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++*#%*++++++++#%***##**=+%%%%%%%%%%%%%%%@#%%***%%%%%%%%%%%%%*+++*%%%%%@%%%%%%%%%%%+.#%%%%%%%%%%%%%%++*#%#+++++++@@*+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++##%++++++++*@#***#*+*%%%%%%%%%%%%%%%%%%@%***#%%%%%%%%%%%%@*+++*%%%%%%%%%%%%%%%%%%+%%%%%%%%%%%%@%%*+####++++++*@@++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++%#%++++++++#%#***#**%%%%%%%%%%%%%%%%%%%@#***%%%%%%%%%%%%%%%*+*%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%@%%#*#*#%++++++#@#++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++%#%+++++++*@#****#*#%%%%%%%%%%%%%%%%%%%%#***%%%%%%@@@@%%%**%#%#**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#@++++++#@*++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++*#*%+++++++#%*****%#%%%%%%%%%%%%%%%%%%%%##%*******#%#*+*%+--##=====%@%%%%%%%%%%%%%%%%@%%%%%%%%%%@%%#***%*+++++@@+++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++##*%++++++*%#*****%%%%%%%%%%%%%%%%%%%%%%%*#%****###=+**==---=+*#%*-+@%%%%%%%%%%%%%%%%%@%%%%%%%%%@%%#***%#++++*@#+++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++###%++++++%#*****#%%%%%%%%%%%%%%%%%%%%%%#***%***%#=+%###==-===%#%#=*@%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%***#%++++%@*+++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++###%+++++#%*****#%%%%%%%%%%%%%%%%%%%%%%%****##**%+=#**##=====-+*+==##%%%%%%%%%%%%%%%%%%%%@@%%%%%%@%%#**#%*++*@%++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++%##%*+++*@#****#%%%%%%%%%%%%%%%%%%%%%%%#*****##*#==*#%%+===+=+%*+*#**%%%%%%%%%%%%%%%%%%%%%%@@%%%%@%%#***%#++#@*++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++@#*%#+++%%*****%%%%%%%%%%%%%%%%%%%%%%%%*******#*#%*=+++**+%%#=#%##***%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%#***#%+*@%+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++@#*%#++*%#****#%%%%%%%%%%%%%%%%%%%%%%%#********####%%%%@+#**%+*#*****%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***#%##@*+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++@#*##+*@#****#%%%%%%%%%%%%%%%%%%%%%%%%*********#%#*****#-###*=*#*****%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#***#@@#++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++%#*#@*%%#***#%%%%%%%%%%%%%%%%%%%%%%%%#**********%#*****#==++=+#******%***%%%%%%%%%%%%%%%%%%%%%%%%%%%@#***#@#+++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++##*#@@%#***#%%%%%%%%%%%%%%%%%%%%%%%%%***********##*****##*+=+%*******%***#%%%%%%%%%%%%%%%%%%%%%%%%%%@#****%#+++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++##**%%#***#%%%%%%%%%%%%%%%%%%%%%%%%%************##*******####********%****#%%%%%%%%%%%%%%%%%%%%%%%%%%*****#%*++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++*%*###****#%%%%%%%%%%%%%%%%%%%%%%%%#*************#*******************%*****#%%%%%%%%%%%%%%%%%%%%%%%%#******#@*+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++@#******#%%%%%%%%%%%%%%%%%%%%%%%%%**************#************#%%#***%******#%%%%%%%%%%%%%%%%%%%%%%#*#*****#%@*++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++*%#***#*#%%%%%%%%%%%%%%%%%%%%%%%%%#**************#***#%@%#***%@@%%%**%*******#%%%%%%%%%%%%%%%%%%%%#**#******#%%++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++*%#*****##%%%%%%%%%%%%%%%%%%%%%%%%#***************##*#@%##@#*@@#***%#*%*********%%%%%%%%%%%%%%%%%%#**********##%%+++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++#@#********#%%%%%%%%%%%%%%%%%%%%%%%****************##*%%***#@%@#****#%*%#*********%%%%%%%%%%%%%%%%##***********##%%++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++#@#**********#%%%%%%%%%%%%%%%%%%%%%#*****************%*%%****%%#*****%%*%#**********#%%%%%%%%%%%%%#***************#%*+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++#%#************#%%%%%%%%%%%%%%%%%%%%******************%*#%###%@@##*##%@#*##***********#%%%%%%%%%%@%#****************#%*++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++#%#**************#@@%%%%%%%%%%%%%%%%#******************%#*#%@@@##%@@@@%#**#%************#%%%%%%%%@%@#*****************#@*+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++#@#***************#*#@%%%%%%%%%%%%%%%*******************%************#******%*************#%%%%%%@%+##******#***********#%+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++#@#****************%++#@%%%%%%%%%%%%%*******************##*******************%#*************#%%%%@%++*%******%#***********#%++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++*@#*****************%+++*%@%%%%%%%%%%#******************##*************#******#%***************#@@#++++%#*****#@#***********%%+++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++%#*****************#@+++++#@%%%%%%%%#*******************%***#%@%#***#%@@@%#****%****************@#+++++##*****#@%************#*++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++%#******************##++++++*%@%%%%%%*******************%***%@%#%@%*#@@###%@****#%**************#@++++++*%******%@#************%*+++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++%#*******************%#++++++++*%@%%@%%******************%***@#***#@%@%*****%#*****%#************%#+++++++%******%%%#************%*++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++*%****##**************%#++++++++++#@@#+%@#****************%***%%***#@@@%#****%%******#%#*********#@*+++++++##*****##+##***#********%*+++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++*%#***#@#*************#%*++++++++++++++++%@#***************%***#%@%@@@##%@@%%@@#*******#%%#*******%@#+++++++#%*****#@+*%#***********##+++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++%#***#@@#*************#@++++++++++++++++++#@#*************%******####*****#%%#************#%#****#%%#+++++++*%*****#@++*@#***********#%++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++##***#%#%**************##+++++++++++++++++++*%%#**********##*********************************#%###%*#@*+++++++%#****#@+++*@#***********#%*++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+*%#**#%*##**************##+++++++++++++++++++++#@%#*****##%#***********%%%@%#*******************###***%#+++++++##****#@++++#@#***********#@#+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+@#**#%*+@#**************##++++++++++++++++++++++*%@@@@@@@@#*#********%%%%%%%%%************************@#+++++++#%****#@+++++*@##**********%@*++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................*%***%*++@#**************%#+++++++++++++++++++++++++++++*%%*#%******#%%%%%%%%%%#****************%*****#@*+++++++*%#***#@++++++#@##*********#%#++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................%#**#%+++%#**************%#+++++++++++++++++++++++++++++%%#%%%******%%%%%*#%%%%%****************@#*****@#++++++++@#***#@+++++++#@%#*********#@*+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +............................-%#*#%*+++%##*************%*++++++++++++++++++++++++++++%%#%%%#*****#%%%%+==%%%%%****************@%*****#@++++++++##***#@++++++++*%%#*********%#+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +............................##**%#++++%#**************%++++++++++++++++++++++++++++#%#%@%%******#%%%%#++%%%%%***************#@%#*****@#+++++++#%***##++++++++++%%#********%#+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +............................%#*#@*++++%**************#%+++++++++++++++++++++++++++#@%%#%%%*******%%%%%%%%%%%%***************%%%%*****#@+++++++#%***%#+++++++++++%%#*******##+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +............................%**%#+++++%#**************%++++++++++++++++++++++++++*@%%##%%%*******#%%%%%%%%%%#***************%%%%%*****@*++++++#%**#@*++++++++++++#@#******%#+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +...........................-%*#%*+++++@#*************#%+++++++++++++++++++++++++#@@%###%%#********#%%%%%%%%#****************@%%%%#****#%++++++*%**#%++++++++++++++#@#*****%#+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +...........................+%*#@++++++##*************#%*+++++++++++++++++++++++%@%####%%%#*********%%@@@@#%****************#%%%%%%*****%#++++++%*#%*+++++++++++++++*@#***#@*+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +...........................+%#%#++++++#%**************%#++++++++++++++++++++++%%######%%%*********#%#%*#%*#****************%%%%%%%%****#@*++++*%*#%+++++++++++++++++#%***%#++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +............................%#%#++++++*%**************%#++++++++++++++++++++*%%#######%%%********###%**##+#****************%%%%%%%%#****%%++++#%#%*+++++++++++++++++*@#*#%*++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +............................#%%#+++++++%#***********#*##+++++++++++++++++++#@%########%%%********####**##+#***************#%%%%%%%%%#****@#+++#%%*+++++++++++++++++++@#*%#+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +............................+@@#+++++++*%*************#%++++++++++++++++++%@##########%%%*******####***##+****************%%%%%%%%%%%#***#@*+*@@*+++++++++++++++++++*%*#%++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................%@#++++++++%#************#@*+++++++++++++++*%%###########%%%********#*****##****************#%%%%%%%%%%%@#***#@*%%*++++++++++++++++++++%##@*++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................*@%++++++++*%*************%#++++++++++++++*@%############%%%*******#*#****##****************%%%%%%%%%%%%@@#***%@%+++++++++++++++++++++%@%@*+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+%@#++++++++#%************#@*++++++++++++#%##############%%%*******#******##***************%%%%%%%%%%%%%@%%#***%#++++++++++++++++++++%%%#*++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+*@@%++++++++%#************%%+++++++++++%%###############%%%******#+*****##***************#%%%%%%%%%%%%%@#*%****%%+++++++++++++++++++#++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++*#+++++++++%#************%%*++++++++%%################%%%#****#*******##**************#%%%%%%%%%%%%%%@#+*%****%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++%%#********#**#@@#*+++*%%#################%%%%**+*#+*******#*************%%%%%%%%%%%%%%%%@#++*%****%%++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++*%##****#####%@%#*++#@%##################%%%%%*+#+*******#%*#**********%%%%%%%%%%%%%%%%%@#+++*%****%%+++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++*#%%######%@#*++++#@%###################%%%%%*#*+********%*#********#%%%%%%%%%%%%%%%%%%@#++++*@#***%%++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++*#%@@@%#*++++++#@%#####################%%%**#+##*******%*#*******%%##%%%%%%%%%%%%%%%%@*+++++#@#***%%+++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++#@%######################%%#+#*+%%%#****#%*#*****#@@=::-=+*#%%%%%%%%%%%@+++++++#@#***%%++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++*@%#######################%%+##+#%%%%@%#+#%*#*##%@@%#:......:-+*%%%%%%%@#+++++++*@%%#**%%+++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++*@#########################%*+#*+%%#*=---+#%*#*@@#*+#=...........:=*%%%%@#++++++++#@#%#**#%*+++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++#@###########################+##=*+-:....-+#%+-:%*+++%:..............-*%%@*+++++++++%%#%***#%+++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++#@###########################+*#+=:.......-+##+:.#+++**.................+@#++++++++++*@##%***#%*+++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++#@###########################*+##==........=+%#+:.#+++#-.................-%++++++++++++%%##%***#%*++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++#@%###########################+##+=:........=+%#+:.#+++#:.................+#++++++++++++#@####***#%*+++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++*@%###########################**%*==.........=*%#+-.#++**..................#*++++++++++++*@###%#***#%*++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++*@%############################*##++:........:=*%#+-.#++%-.................-%++++++++++++++#%###%****#@#+++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++%%##############################%#=#-........:=*%#+-.#+*#:.................+#++++++++++++++*@#####****#@*++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++%%################################+*%-........-=*%#+-.#+#+.................:#*+++++++++++++++#####%#****#@#+++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++#%#############################%%%#=##-........-=#%*==:%*#-.................=%++++++++++++++++#%####%*****#@*++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++#@##############################%#@#*##+........=-#%#*+:%*#:.................**++++++++++++++++*@######*****#%++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++#@###############################%*#*%##+........=*%%%#+:%*+.................:%++++++++++++++++++%#####%******##+++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++*@%##############################%%=+#####........=#+#+#::@*-.................+#++++++++++++++++++#%######*******#++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++%%##############################%#==%%##%%:........-#==*.:%*:................:%*++++++++++++++++++*%#####%********#+++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++#%################################===###%@%-........-*==*::%*.................=#++++++++++++++++++++@#######********#*+++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++#@###############################%*===*##@##=........*==-+-:%-.................#*++++++++++++++++++++%######%*********%*++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++*@%###############################%*#=*=%%%+*+.......-*==+=*-#:................=%+++++++++++++++++++++#%#######*********%%+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++#@################################%##=#*@@*++#.......-+=*+*+#*.................#*+++++++++++++++++++++#%######%**********#%*+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++%%#################################%%#%%@#+++#:......-+=#=*#*=................-%++++++++++++++++++++++*%######%#**********#@#++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++*@######%%%%##########################%##@*+++#=......:*+#**==-................#*++++++++++++++++++++++*%#######%***********#@#+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++#@#%%#**+====*##########################%#++++*+.......=+-::.=:...............-%+++++++++++++++++++++++#%#######%#************@#++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++#@%#+==-====-=*#########################%@++++++#:............=................**+++++++++++++++++++++++@@#########************#%%+++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++%*============##########################@#++++++#:...........:-...............-%++++++++++++++++++++++++%@@%######%**************%%++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++*#=============%########################%%+++++++#=...........-:...............**++++++++++++++++++++++++++*#@%####%#**************%%+++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++#*==---========%########################@#+++++++**...........-...............-%+++++++++++++++++++++++++++++*#@%###%***************%%++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++%+==---*%%+===+%#######################%@*++++++++#:..........=..............:##+++++++++++++++++++++++++++++++*%%##%****************%%+++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++%===--*%#@%===*%#######################%#+++++++++%:..........=:.............=@*+++++++++++++++++++++++++++++++++#%#%*****************%%++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++*#-==-+%++@@+==#########################@++++++++++@-..........=:............:#*+++++++++++++++++++++++++++++++++++*@%#*****************@#+++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++##-===%*+*@%+-=########################%#++++++++++@-..........=:............+#+++++++++++++++++++++++++++++++++++++%@%*****************#@*++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++#*-=-+@++#@%+-+%#############%%%%%%@@@@%*++++++++++@-..........::............*++++++++++++++++++++++++++++++++++++++*@@******************#@*+++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++#+-=-+@##@##==+%#######%%%@@####*++++++++++++++++++@-...........:............++++++++++++++++++++++++++++++++++++++++#@*******************@#+++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++#=-==+@@@#%+--*%###%%@###*+++++++++++++++++++++++++%-...........-............+*+++++++++++++++++++++++++++++++++++++++@*****%%#***********@*+++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++%=====#@@#+=--#%@@%#*++++++++++++++++++++++++++++++#=...........=:...........=#+++++++++++++++++++++++++++++++++++++++##***#*+%**********#@++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++@======***==-=%#*++++++++++++++++++++++++++++++++++#=...........=:...........-*+++++++++++++++++++++++++++++++++++++++##**##==#**********%#++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++@======+**===+@++++++++++++++++++++++++++++++++++++#=...........-:...........:*+++++++++++++++++++++++++++++++++++++++##*##=--+#********#@*++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++@=====-=**=+%@#++++++++++++++++++++++++++++++++++++#+...........:-...........-#+++++++++++++++++++++++++++++++++++++++%###=---=#********@#+++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++@=====-=**%*=+#%*++++++++++++++++++++++++++++++++++#+...........:=.........-=-++++++++++++++++++++++++++++++++++++++++@%#=----=#*******#@*+++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++@+=====+*++:..:+%*+++++++++++++++++++++++++++++++++#+...........:+......:-=-:.=#+++++++++++++++++++++++++++++++++++++#@*-------+#******@#++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++@+==+#%+:=:.....=#+++++++++++++++++++++++++++++++++#*:.........:-*====---::..:+#++++++++++++++++++++++++++++++++++++*%+-----=--=#*****%%+++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++@#+#@#%#::.......+#++++++++++++++++++++++++++++++++##==-:::::--=-+-:::.....:-+*#++++++++++++++++++++++++++++++++++++@*----=##===#****%@*+++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++*#@%*+#%:...-+:..:%*+++++++++++++++++++++++++++++++**..::-==--:..==.....:-=+++=*++++++++++++++++++++++++++++++++++++@+==-+@@%+-=#***#@#++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++#%:....==...+#++++++++++++++++++++++++++++++++*:...........=*=====++++-::#++++++++++++++++++++++++++++++++++++@==-=%#%%*--#**#@%+++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++##::...:+:..:%++++++++++++++++++++++++++++++++%=-::::::::-=*#+++++==-:...#+++++++++++++++++++++++++++++++++++*%===*%#@%+--#*#@%++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++##-=....=-...#*+++++++++++++++++++++++++++++++%*+++++++++++*#:::::.......*+++++++++++++++++++++++++++++++++++#%===##%%%===##@%+++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++#%=+....-+...*#+++++++++++++++++++++++++++++++#====+++==--:-#:...........++++++++++++++++++++++++++++++++++++##===#@%#*-=-#@%++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++*%=+....:+=..+#+++++++++++++++++++++++++++++++*:...:.......-%-...........=*++++++++++++++++++++++++++++++++++%*===*@##=---%%+++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++%-#+...:*%-.+#+++++++++++++++++++++++++++++++#-...........:%=...........=#++++++++++++++++++++++++++++++++++@+====#@+---+%++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++@=+*-...*%*.+#+++++++++++++++++++++++++++++++#-...........:#+...........=#+++++++++++++++++++++++++++++++++*%=====+**--+%+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++#*=**-.:**%:#*+++++++++++++++++++++++++++++++*=...........:##...........-#+++++++++++++++++++++++++++++++++#*-=====*=*+@*+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++*@+#%%##%*%#@++++++++++++++++++++++++++++++++++...........:#%:..........-#+++++++++++++++++++++++++++++++++@+=====-#=%*@++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++*@##*++++*%*+++++++++++++++++++++++++++++++++*...........-#@-..........-#++++++++++++++++++++++++++++++++*%=======#*+:%++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#:..........=##=..........-#++++++++++++++++++++++++++++++++##====-=*#--=#*+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%:..........=##*..........:%*+++++++++++++++++++++++++++++++@+====+*=-++:=%+++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%-..........=##%:.........:%#+++++++++++++++++++++++++++++++@*=*#%*:.....*%*++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+..........=#*%-.........:%@+++++++++++++++++++++++++++++++#@@@%#:.....:%%@#*++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#*..........+#+@=.........:%@*+++++++++++++++++++++++++++++++***%-....::-@%@@*++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%:.........+#+%+.........-%@#+++++++++++++++++++++++++++++++++#*.--..===#++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@-.........*#+#*:........=%%#+++++++++++++++++++++++++++++++++%=.*=.:==*#++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+.........*#+#%:....::-=*%%#+++++++++++++++++++++++++++++++++@-:#=.:*=##++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##.........+@+*@-.-=*#%%%%%%#+++++++++++++++++++++++++++++++++@--%#:*%#%#++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@%.........=@++@%#%%%%%%%%%%#+++++++++++++++++++++++++++++++++@++@%%@*%#+++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*@#....:::-:=@*+@@%%%%%%%%%%%#+++++++++++++++++++++++++++++++++#@*#*#*++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@#-=+*#%%%%%@#+%@%%%%%%%%%%%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%@#+#@%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%#++%%%%%%%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%@+++%@%%%%%%%@%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%@++++%@%%%%%@@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%@+++++#@@@@@%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +.............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::::::::::::::::..........................++++++++ +................................................................................................:#@%%%%%%%@@=...................................................:#%%%%%%%%%%%%%%%%%%%%+::::::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::-=======================================================+*#%%%%#**+=====================================================+++++++++++++++++++++-:::::::::::::::::::::::........................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................::................................................................................................................................................. +.....................................................................................................=%%=.............:::::::::::::...................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::%++##::::++++++++@@@@@@@@@@@@@#++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#*-==*%*@@@@@@%%%%%%%%%%%%%%%%%%%%%@@@@#**=::::::=+:::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +...................................................................................................=%=---==#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@*=::@#..........:::::::::::::::::::::::::::::::::::::::::::::........................................... +...............................................................................................-+++%=--=-===+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@#@...........+++++++++++++++++++++-:::::::::::::::::::::::........................................... +.............................................................................................+#@@%@*-=+#*----=+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+...........#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +..........................................................................................+#@@%%%%#==-*##*-----=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#..........#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +........................................................................................+%@%%%%%%%===-*#++=---===+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@@%.......#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.....................................................................................-#%%%%%%%%%%*===-*#=========-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%@@@%.......#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +...................................................................................-#@%%%%%%%%%%#====-*#=========---+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%:........#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.................................................................................+%%%%%%%%%%%%%%=-===-+%*===========-*%%%%%%%%%%%%%%%%%%%%%%**#%%@@%%%%@.........#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +...............................................................................+@%%%%%%%%%%%%%%+--=====##*++=--======#%%%%%%%%%%%%%%%%%%%%%****#%@%%%%%@.........#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.............................................................................#@%%%%%%%%%%%%%%%*=--=====*###%#*==-====#%%%%%%%%%%%%%%%%%%%%#****#@%%%%%@+.........#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +...........................................................................+%%%%%%%%%%%%%%%%%%=-==========*#####===-=#%%%%%%%%%%%%%%%%%%%%*****#@%%%%%@+.........#%%%%%%%%%%%%%%%%%%%%+:::::::::::::::::::::::........................................... +.............................--------------------------------------------=%%%%%%%%%%%%%%%%%%%+=======-=+++=*#%#+===-=#%%%%%%%%%%%%%%%%%%%#*****#@%%%%%@*---------*####################+===============-:::::::........................................... +.............................++++++++++++++++++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%#=-=======#%%#+=##+====-=#%%%%%%%%%%%%%###%%%#*****%%%%%%*%#+++++++++++++++++++++++++++++++++++++++++++++++:::::::........................................... +............................:::::::::::::::::::::::::::::::::::::::::=%@%%%%%%%%%%%%%%%%%%%%%*=======+%**#==#*+#===-=%%%%%%%%%%%%%*****#%%*+=+*%%%%%*+%*:::::::::::::::::::::::::::::=+++++++++++++++++:::::::........................................... +............................::::::::::::::::::::::::::::::::::::::::=@@%%%%%%%%%%%%%%%%%%%%%%%=-=====#%+=+=+#*##===-=#%%%%%%%%%%%#*******%*=-+#%##%%**%@#=:::::::::::::::::::::::::::=+++++++++++++++++:::::::...................................-------- +............................:::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%%*===+*#%%*==-*###*-====%%%%%%%%%%%%#******+++--+**+**%**###@=::::::::::::::::::::::::::=+++++++++++++++++:::::::...................................++++++++ +............................:::::::::::::::::::::::::::::::::::::::+@%%%%%%%%%%%%%%%%%%%%%%%%%%=====+##%*==#%#*=-==-=%%%%%%%%%%%%%*****+-------+***##****%#::::::::::::::::::::::::::=+++++++++++++++++:::::::...................................++++++++ +............................::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%*-==-==*#%**%#+=-===-=%%%%%%%%%%%%%#*****=-:::--+**+#***##%@@*+:::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%#=-=====+#%##=--=====+%%%%%%%%%%%%%%##***+-::--*#**#%***%@%%%%@@@*+:::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::+@%%%%%%%%%%%%%%%%%%%%%%%%%%*-=====-=#%#=-======+%%%%%%%%%@@@@@@@%**=:-=--+#%%%*****%%%%%%%%%@@#+::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%%=-=====-*%*=-=====-+%%%@@@@@@@%%%@@%***+=++=-+**%*+*%#*#%%%%%%%%%%%@@=::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%%+-=====-=#*-======-*@%%%%%%%%%%%%@%******#*++***#%*%%%%%%%%%%%%%%%%%@*::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%#=======-**--=====-*@%%%%%%@@@@@@@#******@#****+#@%%%%%%%%%%%%%%%%%@@=::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%%%%+-=====-+#=-=====-#@@@@@@@%%%%%%%*+***+#%%****#@%%%%%%%%%%%%%%%%%@#=:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%%#========*=---=---#@@%%%%%%%%%%%%#****#%%%%%%%%%%%%%%%%%%%%%%%%%@=:::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%%%%%%@@@%=-======+=---==+*%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%#####***#+:::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%@@@@%%%%*-==-======+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####**+++++++++*#:::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%@@@@%@%%%%%%%=---==+*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***++++#*+++++++++++#:::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%@@@%%%%%%%%%@@@@@#=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***++++++++++++#*++++++++++*+::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::=@%%%%%%@@@@%%%%%%%%@@@@@@%%%%#%%%%%%%%%%%%%%%%%%%%%%%%###***++++++++++++++++++++##+++++++++++::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::#@%@@@@%%%%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**+++++*++++++++++++=-=++++++*#+++++++++%::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::#@%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***+++++++++++**+++++++++++=--=++++++*#*+++++++%::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::=#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####**++++++++++++++++++#++++++++==+=--=++++++++##*+++++#::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::+*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**+++++++++*+++++**####+++**+++++++==++--=+++++++++*##*+++#=:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::+*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**++++++++++++++#+++*#**+++*++++#+++++++===+=-=+++++++++++*##**##::::::+::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**%++++++++++++++++++#*++*+++++++++++#*+++++++++++==++++++++++++++**%%%@@@@@@+:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%%%###**++++*#++++++++++++++++++*#++++++++++++++*#+++++++++++++++++++++++++++++++****##@+:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::+@@%%%%%%%%%%%%%%%%%%%%%##***+++++++++*#++++++++++++++++++*%#++++++++++++++#+++++++++++++++*++++++++++++++++++++##::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::=#@@%%%%%%%%%%%%%####**+++++++*++++++*#+++++++++++++++++++#**+++++++++++++#*++++++++++++++*#++++++++++++++++++*%=::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::+#@@@%####*%#*++++++++++++**++++++*#+++++++++++++++++++*+**++++++++++++**++++++++++++++*#+++++++++++++++++*%*:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::=%*+++++#*+++++++++++++*#+++***#%++++++++++++++++++++*-+*+++++++++++*#+++++++++++++++#*+++++++++++++++*%#::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::%*+++++#*++++++++++++++#*+##*++#%+++++++++++++*++++++#--=**++++++++++#+++++++++++++++*#++++++++++++++*%#:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::#+++++*#+++++++++++++++**++++++#+*++++++++++++**+++++*+:--+#*++++*#++#*+++++++++++++++#+++++++++++++*%#::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::#+++++#*+++#*+=-+++++++**++++++*-*++++++++++++**++++++*-::-=#%%%%%%*+**+++++++++++++++#*++++++++++*%@=:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::#++++#*++++#+=--+==++++**+++++*+-+*+++++++++++****++++*+:-*%@@@@@@@%#*++++++++++++++++**+++++***##%%-::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::=#+++*#++++*#+=-=+=-++++**+++++#=--*++++++++++++*#%+++++#+%@@@@@@@@@@@@*+++++++++++++++*#+#%%####***%:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::*#++*#+++++#*+=-=+==++++*#++++**-::+*+++++++++++*#%#+++*%@@@@@@@@@@@@@@%#+++++++++++++++#*%*+++++++#%=::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::**++#*++++*#+++==++++++++#++++*+:::-**+++++++++++*###**%%@@@@%%%%%%@@@@@%#++++++++++++++#+*#+++++++%%*::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::+*+#*+++++*#+++++++++++++#++++#-:-::-**+++++++++++*#-#%%%%%@%%%%%%%%#+%@%#++++++++++++++#*+#*+++++*%#*::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::+*#*++++++#*+++++++++++++#+++*+-:-=+=+#*+++++++++++#=:#%%#%@%%#=#%%%%--%%#++++++++++++++**++#+++++*@##::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::*%*+++++++#++++++++++++++#*++#+-+#@@@@@@*+++++++++++*-*-:=#@%%*.=##%%-:%%+++++++++++++++**++#*++++#@#@::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::=%*+++++++*#++++++++++++++**+#=*%@@@@@@@@@#*+++++++++*+:...=@%#=..:-#%=:#*+++++++++++++++**++*#++++%%*%+:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::+#+++++++++**+++++++++++++++#**=%@@@@@@@@%%++**++++++++#=...-%#:....=**=-*++++++++++++++++*#+++#*+++%%#%*:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::##++++++++++#++++++++++++++++##+%@@@@@%%%%+=+::=******##*+...:%#+:...==+==*++++++++++++++++*#+++#*++*%%#%%:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::++#*+++++++++++#++++++++++++++++**%@@%=#%%%%%%-:....:--==-:.....:*+==.::-=++**++++++++++++++++*#+++**++#%%#%%=::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::+**#%%*++++++++++++**++++++++++++++++*%@@#--%%%#%%%+..................+===-+===+**+++++++++++++++++*#++++#++%%%##%#::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::+@@%#*++++++++++++++**++++++++++++++++*@@%-.=%%#-*#%#..................=+===---=+%*+++++++++++++*+++##*+++#+**%%##%@::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::*@%*+++++++++++++++**++++++++++++++++*%@=..=%#+.::*#:.................-*==::::-+%+++++++++++++*%+++##*+++#+#=@%##%@+:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::#%*++++++++++++++#*+++++++++++++++++*%:..=%*:..-+*-..................*=-::--=*#+++++++++++++#@*++##**++#*#-@%##%%#:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::=#@%#*++++++++++++#+++++++++++++++++++%=..-#+=..-=+=..................=+-===--**+++++++++++++%%*++#*##++#*+:#%##%%@:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::*@@%%%%%#**+++++++*#+++++++++++++++++++*+..:+==::-=+=...................--::..-*+++++++++++++*###+*#*%%*+##=:*%##%%%=::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::*@@%%%%%%%@@%#######%#+++++++++++++++++++++...++=====+=........................:**++++++++++++*%###+####*#+%%::*%##%%%*::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::=#@%%%%%%%%@@##********#++++++++++++++++++++*-..-+==---==........................+*+++++++++++++##*##*%%#++#*%@::*%##%%%@::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::#@%%%%%%%%%%%@-*+++++++**+++*#+++++++++++++++++:..+=-:::-=......................:+*++++++++++++*##**###%%+++##@*::*%*#%%%@::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::=#@%%%%%%%%%%%@=:*+++++++*#+++#%++++++++++++++++*+..-*-:-==:....................:+#*++++++++++++#%#*#*#%%##+++*@@:::*%*##%%@+:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::*@%%%%%%%#%%@%%=:+*+++++++*#++*%%#++++++++++++++++*=..===-:..............::......:***#**+++++**##%%####%@%%%+++*@*:::*%*#%%%%*:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::=@%%%%@%%%%%%##%*::+*+++++++##++*##%*++++++++++++++++*+:.::..........:-======:.........-+**##%###*+%#####@#=:**++*@=:::*%*#%%%%@:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::##%%%%%%%%%%@##%#:::++++++++*%#++####%*++++++++++++++++*#**-........:-==-------.............:**++++*%##+##=:..+*++*#::::*#*#%%%%@:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::=%+=%%%%%%%%%@##%#::::*+++++++###++%#***%#*+++++++++++++*#+:-:.......-+----:----=.............-*+++++##%-.::....-*++%=::::*#*#+#%##+::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::@@####%%%%%%@#=%%=::::#+++++++#+#+*##****#%#*++++++++*##+:...........:=---:-::---.............**+++++%##:.:-....:#**@-::::##*###*=#*::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::+**%%#%%@#=%#=:::::#++++++**+#**#******%##%#####%@*-:..............-=-------=:............=*+++++*%#+..=-....:*@@@@@@@*@#*#-=*%@=::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::=*@%##-##%:::::+*+++++*#++*###*****##+++***###@=.................-+=----=:............:*++++++##%-..+:.....*%%%%%%%%@@@@::::=:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::#@=##%*:::::+*++++*%#+##%%#****#%++++++**#%@*..................:===::..............+*++++++%##...-:.....+%%%%%%%%%%%@+:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::+###::::::%++++##%*#@%#@#****%*++++****#@%%=....................................=*++++++*@%+...::.....:#%%%%%%%%@%@*:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::=%#%=::::::%++*##*%%@*%#%#***#*+++++****#@:=%=.................................:*#+++++#%@%@-....:......*%%%%%%%@%%@#:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::*###::::::+#+*##*#@@*:@###**#%++####****%*::=@*:.............................:+%%*+++#%%%%%%=....::.....+%%%%%%@%%%%@:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::###%=::::::####***#@@::=%####%*+**:-*####%*:::=%*-:........................:=*%*#*++*#%%%%%%%+....:::....+%%%%%%%%%%%@=::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::*%#%*::::::*@###***#@=:::=@@%%#+*#-..:*%%#@*:::::=##+-:....................:*@*+##+++#%%%%%%%%*.....:::...+%%%%%%%%%%%%#::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::=%##%=::::=@%##*****##::::::=%@*#*=....-*=%@*::::::::++#*=::.............::-=%@@@%*++*%%%%%%%%%#.....:::...+%%%%@%%%%%%%@=:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::###%*::::=@%##*****#%=:::::::###+......:=.+@*:::::::::::+#%#*++====--:::--+*#*#@%*+++#%%%%%%%%%%:..........=%%%@%%%%%%%%@@:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::+####::::*@%##****#*#+::::::::@*#=......:=..+@:::::::::::::::=****%@#=---+#**++*%#+++*%%%%%%%%%%%+...........*%@%%%%%%%%%%@+::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::=%#*#+:::#%#********#%::::::::*%+#-.......=..:%=::::::::::::::::=*@@%#*==##*+++**#*+++*%%@%%%%%%%%#...........:%%%%%%%%%%%%@=::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::+###%::-@%#*********%*:::::::-@#*#:......:=..:%*:::::::::::::=*@@@%%#+*##*+++*##*#++++*#%%%%%%%%%%%=..........=%%%%%%%%%%%@#:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::=#**#*:=%%#*********#%::::=**@@@%%+......:--..:%@=::::::::::*@@@%%%%%********#%#%#*++**+*%%@%%%%%%%%%-........=%%%%%%%%%%%%@=:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::##**%==@##**********#=::=#@@%%%%%%+....:::::...*@@#::::::::@@%%%%%%%%%%######%%%%*++*%#++#%%@%%%%%%%%#:......=%%%%%%%%%%%%@#::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::=#**#@%%#***********#*:=#@@%%%%%%%%%:..::::::...+%%@#::::::*@%%%%%%%%@%%%##%%%#**#++*@%*+++%%%%%%%%%%%%*.....+%%%%%%%%%%%%%@*::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::##**#@%#************#**%%%%%%%%%%%%%=..::.......-%%%@#:::::@%%%%%%%%%%#*####***+#*++%@#*+++#%%%@%%%%%%%%+..:*%%%%%%%%%%%%%%#@::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::=#***##**************%@@%%%%%%%%%%%%%#:..........:#%%%@+:::+@%%%%%%%%%%#+*##*+++*%++#%%#**++*%%%%%@%#%%%%%=-#%%%%%%%%%%%%%%#*%*:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::+#*###************#*#@%@%%%%%%%%%%%%%%=..........:%%%%%#:::#%%%%%%%%%%%%*##*#*+*%#+*%%%***+++%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%**#@:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::%#####**************%%%%%%%%%%%%%%%%%%%:.........+%%%%%@#*@@%%%%%%%%%%%%%#*+*##%@*+%%%#***++*#%%%%%%@@%%%@@%%%%%%%%%%%%%%%****%=::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::%###***************#@%%%%%%%%%%%%%%%%%%-........-%%%%%%%@%#%%%%%%%%%%%%%%*++++%@%+#%%%#***++**%%%%%%%%@@@%%%%%%%%%%%%%%%@*****##::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::@%#****************#@%%%%%%%%%%%%%%%%%%+.......:*%%%%%%%%#*%%%%%%%%%%%%%%#*#*#%%*#@%%%#***++**#@%%%%%%%%%%%%%%%%%%%%%%%@#******%=:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::%##****************%*%%%%%%%%%%%%%%%%%%:.......:%%%%%%%%%%#%%%%%%%%%%%%%%@#*%%%@*%%%%%****+****%%%%%%%%%%%%%%%%%%%%%%%%#*******#*:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::*#*****************#+:@%%%%%%%%%%%%%%%%=........-%%%%%%%%%%##%%%%%%%%%#**%%=-*#=#%+#%%%*******#*#@%%%%%%%%%%%%%%%%%%%%%%*********%=::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::*#******************#+:#%%%%%%%%%%%%%%%#.........+%%%%%%%%%%%%%%%%%%%*=++==+====#@%#+%%%*******##%%%%%%%%%%%%%%%%%%%%%%%**********%*::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::##*******************%::+@%%%%%%%%%%%%%%-.........#%%%%%%%%@@%@%%%%%%+=#%%#====-=%@#%*%*%#*****###%#%%%%%%%%%%%%%%%%%%%%************%::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::##*******************##:::@%%%%%%%%%%%%%*.........-%%%%%%%%%@@#*#****#+=%%#*===-==*****#*%***##%%%%#*#%%%%%%%%%%%%%%%%%%*************%*:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::##******#*************#+:::*%%%%%%%%%%%%#:.........+%%%%%%%%@%%****##**#++++++=*+=+#==*#**%###%##******#@%%%%%%%%%%%%%%%**************#@:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::#%*******%#***********#%=:::=@%%%%%%%%%%%+..........#%%%%%%%@%%#****%****####%+*#%++%###***%%%#**********%%@%%%%%%%%%%%%#**************#@:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::*%#*****#%%************#%:::::*@%%%%%%%%%%:.........-%%%%%%%%%%%*****#********#=###+*#******##************%##@@%%%%%%%%%#***************%#:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::%#*****#%@#**********###+::::::@%%%%%%%%%%+:........+%%%%%%%%%%#*****%********#++#*+#*********************%#*#%#%%%%%%%#***************%@=:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::##*****#%@%*************#+::::::*@%%%%%%%%%%#=......:%%%%%%%%%%%******%*********##*##**********************%#**##**#%%%#***************#@=::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::#%#****#%#*#*************%=:::::::#@%%%%%%%%%%%*-....-%%%%%%%%%%#******%************************************%#***##********************#@=:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::=%#*****%#:##*************%:::::::::@##%%%%%%%%%%%*-:-*@%%%%%%%%%*******%*****#%#****#%@@@%******************%#***###******************%@=::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::##*****#@::%#************#+:::::::::@#**%%%%%%%%%%%%#%%%%%%%%%%%#*******#****%@%%@##%@%##*%%*****************%#*****#%****************%#::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::*%#****#%=::%*************#+:::::::::#%***#%%%%%%%%%%%%%%%%%%%%%%********%****@#**#%@%*****%@*****************%#******##*************#@#:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::%#*****%*:::%*************#*::::::::::%#****%%%%%%%%%%%%%%%%%%%#********%%****%#***%%@%###%@#*****************%#*******##***********#%=::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::=#*****##::::#*************#=::::::::::*@*****#%%%%%%%%%%%%%%%%%*******#%*%****#%%%@@###%@@%#******************%#********##*********%#::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::%#****#%=::::#*************#::::::::::::@%*****#%%%%%%%%%%%%%%%******#%*::%*****#%%#***************************%#*********##******#%*:::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::=%*****#=:::::%*************#::::::::::::=@#*****#%%%%%%%%%%%%%**#***%#::::%************************************%#**********##***#%#=::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::%#****##::::::%*************%:::::::::::::=%#*****#%%%%%%%%%%%**##**%#:::::+#***********************************%#**********##%%@#=::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:=%#****#=::::::%**************::::::::::::::#%******#%%%%%%%%%***#**%#::::::*#***********************************%#***********##@*::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:*#****#+:::::::%*************+:::::::::::::::##*******%%%%%%#***##*%@=::::::*#***********************************##**********###@:::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:%#****%=:::::::%*************+:::::::::::::::=@********#%%%#****#*%#=:::::::=#*************%%%#******************##***********##@=::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................=%****##::::::::%*************+::::::::::::::::*%****************#%#::::::::::%**#@@@%****%@@%%@%*****************##*************%*::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................*#****%=::::::::##************+:::::::::::::::::@#**************#@=:::::::::::%**@%*#%%##@@#***#@#****************#%##***********#*::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................##***##:::::::::+#************+:::::::::::::::::*@*************%#=::::::::::::%*#@#***%@@#*****#@#****************#%%%#*********##@::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................:%#**#%=:::::::::=#*************::::::::::::::::::#%**********#%*::::::::::::::@**@#***##%#****#@@*****************#%%@#**********#%::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................+%***##:::::::::::%************%::::::::::::::::::=@#*******#%#=:::::::::::::::@**#%%%@@##@%%%%@%*******************%%%%**********#%::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................+%***#+:::::::::::##***********%:::::::::::::::::::=@#*****%%*::::::::::::::::*%***####****#%%##********************%@*%#**********%=:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................+#***%::::::::::::=#***********#::::::::::::::::::::=@%##%@#::::::::::::::::::%#************************************#@**#**********%*:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................=#**##:::::::::::::%***********#+:::::::::::::::::::::*@@*=::::::::::::::::::=%**************************************%*=%#*********%*:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................=#**%*:::::::::::::+#**********#+::::::::::::::::::::::::::::::::::::::::::::@***************************************#@-%#*********#*:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................=#*#%=:::::::::::::+%**********#%:::::::::::::::::::::::::::::::::::::::::::*%*********###****************************@:*#*********#+:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................=#*#%:::::::::::::::@#**********%=::::::::::::::::::::::::::::::::::::::::::@********%%%@%%#*************************#@:+%******#**#+:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................+%*##:::::::::::::::=%**********##:::::::::::::::::::::::::::::::::::::::::*%******#%%%%%%%%%*************************@=:%*********#+:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................-%*#*::::::::::::::::##**********%=::::::::::::::::::::::::::::::::::::::::@%******%%%%%%%%%%#************************#@=%*********#+:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +...........................:%##*:::::::::::::::::##*********#@::::::::::::::::::::::::::::::::::::::::*%**#**%%%%%#%%%%%%*************************##*#********##:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................*##*::::::::::::::::::###********##::::::::::::::::::::::::::::::::::::::=@#*##*#%%%#===%%%%%**************************#%#********#@:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................=%%#:::::::::::::::::::#%#********%#=:::::::::::::::::::::::::::::::::::=%#*%%**#%%%%++*%%%%@***************************#%#*******#@:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:*@@::::::::::::::::::::=#%########%@#:::::::::::::::::::::::::::::::::=%#*%@#**#%%%%%%%%%%%%****************************#%*******#@:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::*@+:::::::::::::::::::::=*+#@@#++**+::::::::::::::::::::::::::::::::=%*#%@#****%%%%%%%%%%%%*****************************##******#@:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%*#%@%*****#@%%%%%%%%%*******************************##*****#@:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%*##%@******%%%@%%%@%%#*****************#%*************##****#*:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%#%#%@#****#%#*####%#+#******************#@#*************##***%*:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#####@@***#%%**#***#%*+#******************%%%**************##**%+:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%%###%@#**%%%**#****%#+#*******************%%%#**************##*%::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%####%@*#%%#+*#****%%*=#*******************%%%%***************##@::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%#####@%####+*#****#%%+********************#%%%%#**************#%*::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%%#####%@##%#*#******#%#=#*******************%%%%%%***************%+::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%########*###+##*****###*+#*******************%%%%%%#****************::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-%%########*#%#+*#******###+********************#%%%%%%#***************##:::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%########**#%#+*#******#*#*+#*******************%%%%%%%%****************#=::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%########+*%%#+*#*******#*%++********************%%%%%%%%#****************%::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::=#%######%#=*%%%++%%******#*##+#*******************#%%%%%%%%%*****************+:::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%#######*=#%%%*+%%%#*******%*+#******************#%%%%%%%%%%#****************#=::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::=%########+=#%%%*+#%%%%#***#+##+*******************#%%%%%%%%%%%#*****************#::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::#%#######%+=#%%%*=#%%%%%%%****%#+#*****************#%%%%%%%%%%%%%*******************:::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::#%#######%+=#%%%#=*@%%%%%%%%%+#%**#***************#%%%%%%%%%%%%%%%#*****************#=::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::=%%#######%+=#%%%#=+%%%%%%%%%%#+%#+#**************#%%%%%%%%%%%%%%%%%%******************#::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::=%########%#=#%%%#+=%#%%%%%%%%%+#%#=#************#%@%%%%%%%%%%%%%%%%%%*******************#:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::*%########%##%@%%%*=#%#%%%%%%%%#+%%*+%%##******#%%@@%%%%%%%%%%%%%%%%%%%#******************#=::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::#%#########%+#%%@@#=+%##%%%#%%%@**%#+*%%%@%@@%@%*=-@+:::-=+*#%%%%%%%%%%%%*******************#::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::=%%###########=%%%#=#%%#####:..::#=#%#=#%%%%%@@-::::=#:........:-+#%%%%%%%%*******************#=:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::=@###########%#=%%++#%%#####*....:#+%%*==:-=*#@@:::::++.............=#%%%%%%#*******************#=::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::*%############%#=+=#%%#######*....+**%#++:....:%*:::::*:...............=%%%%%#********************#::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::=%############%#=-==%#########+....*+#%#=+.....:%=::::++.................=%%%%%********************#*:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::=#%#############%=====##########+....#*%%*-+.....:%:::::*:..................=%%%@#********************#=::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::=#%###############-*==**%########+....*%%%%*+.....:%::::*+....................+%@***********************#::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::=@%################-#=+%*%########+....:*+**#=.....-%:::=%:....................-@#:=*********************#=:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::=@%################%##=%%*%########+.....*=+++:.....-%:::#+.....................-%=::#*********************%=::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::*%###################%%*%%%%########*.....+*=#-......-@::=#:.....................*=:::**********************#%::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::*%#####################%%##%%########*....=*==++......-#::#=.....................=#::::+**********************#*:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::#%####################################*...-*====+=.....=+:=#:....................-%=::::=#**********************%=::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::#%######################################...*==*=+++=:...+*:#=....................:*=::::::%**********************#%::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::=@%#######################################...#==#==*=*+...*+=#:....................*+:::::::#***********************##:::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::=@%######################################%%:..*=-+*==+*:...#-#=....................=*::::::::+#***********************%=::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::*%#######################################%*+:..=#*#%#*+:...:#-#:...................-*:::::::::*%***********************#@::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::*%#######################################%#:+-...::::::.....:%*+...................:*=:::::::::=%************************##:::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::#%#######################################%#::*=..............-@%:...................*+:::::::::::%*************************%=::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::#%#######################################%@=::*+..............=@*...................=#::::::::::::##************************#%::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::#@########################################@=:::=*..............+@=..................=*:::::::::::::+%*************************##:=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::=@@%######%%%%%############################%=:::::#..............*%:.................-#:::::::::::::::%**************************%*=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::%*===-----====+*#%########################%#::::::%:............:#*.................:#=:::::::::::::::##*************************#%=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::#*===========----=%#######################%#:::::::@-............:#=................:*=::::::::::::::::+#**************************%#+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::##================########################%#::::::::*+............-*:................+#::::::::::::::::::%***************************@*++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::=%=---==----======+%#######################@=::::::::**............-+................+#:::::::::::::::::::%***************************##++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::%+=---=*#%*----===########################@=:::::::::*#............--...............=#::::::::::::::::::::*#***************************%*+++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::#*===-=*#=@%+=-===+%######################%#::::::::::**............-:.............:=#:::::::::::::::::::::+%***************************%#+++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::+#====-*%::@**=--==#######################%#:::::::::::*+............:.............:+%=::::::::::::::::::::::%***************************#@*++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::#+-==-=%=:*%*+=---*%######################@=:::::::::::@-..........................=%=:::::::::::::::::::::::@****************************%#++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::=#--==-=@-=%**==--=%######################@=:::::::::::=%:..........................=@::::::::::::::::::::::::##***************************#%++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::#+--==-=%@@#+===-=#######################%#::::::::::::*+.............:.............:%:::::::::::::::::::::::::%***************************#@++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::#=--==--*##+=====+%#####################%@:::::::::::::%-............:=.............:%:::::::::::::::::::::::::%***************************#@++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::+*-==----*+*=====+%######################@=:::::::::::::#:............:=..............#=::::::::::::::::::::::::****************************%%++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::%=-------*=*=====#%#####################%#:::::::::::::+*.............:+:............:#*::::::::::::::::::::::::+#**************************@*++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::%=======+***===-+%%%%%@@@%%%%%#########%@::::::::::::::#=.............:=:............-#*:::::::::::::::::::::::::%*************************%#+++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::@%%%%*++*+#%%%%#%@@*********@@@@%%#####@#::::::::::::::%:.............:+=..........:==+*:::::::::::::::::::::::::%************************#%++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::=***-::--=+#%***#:::::::::::::=**@@@%#%@:::::::::::::::#..............:#*:.......:-=:.+*:::::::::::::::::::::::::##***********************%*++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::#+:...:==:**:::::::::::::::::::::=**@#=::::::::::::::+*..............=@#====--==-:...=*:::::::::::::::::::::::::+#**********************%#+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::#+........:#+:::::::::::::::::::::::::::::::::::::::::**..............*%#:.::::::...:-**::::::::::::::::::::::::::%*********************##=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::#*:........-%::::::::::::::::::::::::::::::::::::::::::*=.............:%-%:...:....:-++**::::::::::::::::::::::::::%*********************%==+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::*#::........*#::::::::::::::::::::::::::::::::::::::::::%-.............+*:#+-:::::-=+++==+::::::::::::::::::::::::::##*********###*******%*:=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::%:-#:...-..-%=::::::::::::::::::::::::::::::::::::::::::@=:............#=:*#++++++**+=:.:+::::::::::::::::::::::::::*#*******##+=*******%#::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::+*:%#...:+:-##:::::::::::::::::::::::::::::::::::::::::::%-=-..........-%::*#=+++++=-:...:+::::::::::::::::::::::::::+%******#*===******#@=::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::*=*@*...=-=%#::::::::::::::::::::::::::::::::::::::::::::#:.-=-::....:-*@::=#:::::.......:+:::::::::::::::::::::::::::%***#%#=-===##***#@*:::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::*+%**..:+=%@=::::::::::::::::::::::::::::::::::::::::::::*....--=====+=#*:::%:...........:+:::::::::::::::::::::::::::%*##*===-===*****%#::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::+@#=#+##%%@*:::::::::::::::::::::::::::::::::::::::::::::*............:#*:::%:...........:+::::::::::::::::::::::::::=@#*+-----===****%#=::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::==:=**+::::::::::::::::::::::::::::::::::::::::::::::::+#=:..........-%=:::#-...........-+::::::::::::::::::::::::::@*===---=====***#@=:::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#+++=-:::::-=*@::::+=...........-+::::::::::::::::::::::::::@+===-=+*+===#**@=::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*+-+++++++++++##::::*+...........=+::::::::::::::::::::::::::@+====#@@%=-=##%*:::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*=..:-===+==--++::::**...........=*::::::::::::::::::::::::::@====##-@%+-=%@#::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+-............**::::=*...........+*::::::::::::::::::::::::::%===+#:=@%=-+@#:::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+-............#=:::::#:..........*+::::::::::::::::::::::::::%==-*#=@%%=-*#::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+-............#::::::#:..........#:::::::::::::::::::::::::::%===#%@%#+--%+::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:...........:%::::::#:.........:%::::::::::::::::::::::::::=#===+#%%#-=*@:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:...........:%:::::+%:.........-@::::::::::::::::::::::::::*#====+#*+=*@=:::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%:...........:+:::::*#:.........=@::::::::::::::::::::::::::*#===--#+**@=::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%:...........-+:::::##=====-:...*@::::::::::::::::::::::::::*#====-*+%@=:::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%:...........=+::::=@@%%%%%%%*::%@::::::::::::::::::::::::::*#=====##@=::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%:...........=+::::*@%%%%%%%%%#+@@::::::::::::::::::::::::::*#===-+#**:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........=+::::#%%%%%%%%%%%%%@::::::::::::::::::::::::::#*===**-#=:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........=+::::@%%%%%%%%%%%%%@::::::::::::::::::::::::::@+=+*=::#::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........=+::::@%%%%%%%%%%%%@#::::::::::::::::::::::::::@#**:...++:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........++::::*@%%%%%%%%%%@#:::::::::::::::::::::::::=#%*=.....+*:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........++:::::=@%%%%%%%%@#::::::::::::::::::::::::::#*:.......=+:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........+*::::::=#@@@@@@@#::::::::::::::::::::::::::##:...-:...=+:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........+*:::::::::=***=:::::::::::::::::::::::::::=%+-..-+....=+:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:...........+*:::::::::::::::::::::::::::::::::::::::::##+..:*:.-..*+:::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%:...........*#::::::::::::::::::::::::::::::::::::::::=@#-..=+.:#::%::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@-...........*@::::::::::::::::::::::::::::::::::::::::*@*:..+::+%-*+::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@-..........:%@::::::::::::::::::::::::::::::::::::::::=@*..-+:+@@##:::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@=..........*@@:::::::::::::::::::::::::::::::::::::::::**-=**##@*:::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@+.........=%%*:::::::::::::::::::::::::::::::::::::::::=@@#**+-%::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@@*.::--::.:#%@*::::::::::::::::::::::::::::::::::::::::::==::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@@#+#%%%%*-+%%@+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%@#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++++++++++++++++::::::::::::::::..........................++++++++ +............................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%%%%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::--:::::::::::::::::::::::........................................... +......................................................................................................................................................................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +...................................................................................................................................--.................................................................................................................... +..................................................................................................................................=%%#................................................................................................................... +...........................................................................................................................::=++++%+=#++++*#++++=::...................................................................................................... +......................................................................................................................:::+*@@@@@@#+--=*@@@@@@@@@@@@#+=::................................................................................................. +..................................................................................................................::+*@@%@%%%%%%*======*%##%#%%%%%%%@%@@*=:.............................................................................................. +................................................................................................................++%@@%%%%%%%%%%+-==*#=-=#%#%%%%%%%%%%%%%@@@+............................................................................................. +............................................................................................................-+#@@%%%%%%%%%%%%#+--=+##*--=#%%%%%%%%%%%%%%%%%%%#-..........................:::::::::::::::::::::........................................... +.........................::...............................................................................+@@%%%%%%%%%%%%%%%*==-==##**--==#%%%%%%%%%%%%%%%%%%%%%+-.......................:::::::::::::::::::::........................................... +.......................................................................................................-#@@%%%%%%%%%%%%%%%%+======#*==--==+%%%%%%%%%%%%%%%%%%%%%%%++.....................:::::::::::::::::::::........................................... +....................................................................................................-+@@@%%%%%%%%%%%%%%%%#=--====+#*----===+%%%%%%%%%%%%%%%%%%%%%%%%#+...................:::::::::::::::::::::........................................... +..................................................................................................-@@%%%%%%%%%%%%%%%%%%%+---=====+#*==--====*%%%%%%%%%%%%%%%%%%%%%%%%%%#-................:::::::::::::::::::::........................................... +..................................................................................................@%%%%%%%%%%%%%%%%%%%%+--========##===-=====*%%%%%%%%%%%%%%%%%%%%%%%%%%@#+..............:::::::::::::::::::::........................................... +..................................................................................................@%%%%%%%%%%%%%%%%%%%#=-=========###*=--=====#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-...........:::::::::::::::::::::........................................... +..................................................................................................@%%%%%%%%%%%%%%%%%%%%=======---=-=#%#+--====-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+..-+-....:::::::::::::::::::::........................................... +..................................................................................................@%%%%%%%%%%%%%%%%%%%%======---+*+==#%#=--===-=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@##@+....:::::::::::::::::::::........................................... +..................................................................................................+%%%%%%%%%%%%%%%%%%%%=====---+%%%*=*%##*=----+%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%@@@=....:::::::::::::::::::::........................................... +..................................................................................................+%%%%%%%%%%%%%%%%%%%%+====+-+%#*#*=+###*=----*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@-...:::::::::::::::::::::........................................... +..................................................................................................+%%%%%%%%%%%%%%%%%%%%+-===*##%+=*+-+#*=-====-#%%%%%%%%%%%%%%%%%%%%%%%#**%%%%%%@%%%%#...:::::::::::::::::::::........................................... +..................................................................................................-@%%%%%%%%%%%%%%%%%%%*-====*%#*===+#*=*+====+%%%%%%%%%%%%%%%%%%%%%%%****#%%%%%@%%%%@+..:::::::::::::::::::::........................................... +...................................................................................................@%%%%%%%%%%%%%%%%%%%#====-=#%#+==#%*##+====*%%%%%%%%%%%%%%%%%%%%%%******%%%%@@@@@@%+..-============-:::::::........................................... +...................................................................................................+%%%%%%%%%%%%%%%%%%%%=======*#*=*####*=====#%%%%%%%%%%%%%%%%%%%%%%******%%%@%%%%%%-...++++++++++++++:::::::........................................... +...................................................................................................+@%%%%%%%%%%%%%%%%%%%+======+##*####+======%%%%%%%%%%%%%%%%%%%%%%#******%%@%%%%%%+....++++++++++++++:::::::........................................... +....................................................................................................@%%%%%%%%%%%%%%%%%%%*=======+%%#*+=--==--*%%%%%%%%%%%%%%%%%#%%%%%******@@%%%%%%@+....++++++++++++++:::::::...................................-------- +....................................................................................................#%%%%%%%%%%%%%%%%%%%#=======+#%*=-==----=#%%%%%%%%%%%%%%#*******%*+***#@@%%%%%%#.....++++++++++++++:::::::...................................++++++++ +....................................................................................................-@%%%%%%%%%%%%%%%%%%#========##+=====-=-+%%%%%%%%%%%%%%*********#*-=**%@@%%%%%%-.....++++++++++++++:::::::...................................++++++++ +.....................................................................................................#@@@@@%%%%%%%%%%%%%%========##=========#%%%%%%%%%%%%%%*******==+=:-*##*##%%%%@......++++++++++++++::::::::::::::::..........................++++++++ +................................................................................................-+#@@@@@@@@@@@@@@@@@@@@@@+=======#*=========%%%%%%%%%%%%%%%#*****+-::-:=******#@%%@......++++++++++++++::::::::::::::::..........................++++++++ +.............................................................................................+#@@@%%%%%%%@@@@@@@@@%%%%%%@*======-**========*@%%%%%%%%%%%%%%%#****+-::::---=****%*%#......++++++++++++++::::::::::::::::..........................++++++++ +..........................................................................................-#@@%%%%%%%%%%%%%%%@@@@@@@@@@@@%======-*+=====--=#@@@@@@@%%%%%%%%%%#***#*=:::::-=****%#@=......++++++++++++++::::::::::::::::..........................++++++++ +........................................................................................+#@%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@+=====-+======--+@@%%%%%%%@@@%@@@@@@%%##*-:-:-=+****%##@%......++++++++++++++::::::::::::::::..........................++++++++ +.....................................................................................-#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#*++=========--#@@@@@%%%@@@@@%%%%@#****=:-=-:=**###****%#.....++++++++++++++::::::::::::::::..........................++++++++ +.....................................................................................@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###****++=*%%%@@@@@%%%%%%%@@@%*****+=+*+=+*#%#*****#@-....++++++++++++++::::::::::::::::..........................++++++++ +.....................................................................................-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********+***##***#%@#.....++++++++++++++::::::::::::::::..........................++++++++ +........................................................................................-*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********%#******%#%**%@@+....++++++++++++++::::::::::::::::..........................++++++++ +.........................................................................................#%*+**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******%@%******%@%%%%%%@#...++++++++++++++::::::::::::::::..........................++++++++ +........................................................................................-%*+++++++*%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*##%%%%%*****#%%%%%%%%%%#-.++++++++++++++::::::::::::::::..........................++++++++ +........................................................................................%*++++++++#*++++**####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%#++++++++++++++::::::::::::::::..........................++++++++ +.......................................................................................+#++++++++**+++++++++++*#*####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*+++++++++++::::::::::::::::..........................++++++++ +.......................................................................................%*++++++++*+++==+++++++**++++******##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*++++++++++::::::::::::::::..........................++++++++ +......................................................................................-#+++++++*#*++=--+++++++*+****#+*+++++++****####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*+++++++::::::::::::::::..........................++++++++ +......................................................................................+#++++++*%*++=--=+++++++*++++**=*#*+++++++++++++***##+**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+++++++::::::::::::::::..........................++++++++ +......................................................................................+*+++++*##+++=-=+==++++**++++*--=**++++++++++++++++*+::-**############%##%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%+++++++::::::::::::::::..........................++++++++ +......................................................................................+*++++*#**+++=-=+==++++*++++*+---*+++++++++++++++++*+::--#**+++++++++**+++**+********######%##*****@####*++++++++::::::::::::::::..........................++++++++ +......................................................................................%++++****++++==++++++++*++++*----++++++++++++++++++++-:--+++++++++++++*++++++++++++++++++++#*++++++%+++++++++++++::::::::::::::::..........................++++++++ +......................................................................................%+++**+*+++++++++++++++*+++*=----=++++++++++++++++++*-:::-++++++++++++#++++++++++++++++++++#*++++++#+++++++++++++::::::::::::::::..........................++++++++ +......................................................................................%+**++**+++++++++++++++*+++*--:---*+++++++++++++++++*-:--:-+++++++++++#+++++++++++==+++++++*#++++++#*++++++++++++::::::::::::::::..........................++++++++ +......................................................................................%**+++*+++++++++++++++**++*=-::---*+++++++++++*+++++*+:--::=++++++++++*+++++++=+++--=++++++*#++++++##++++++++++++::::::::::::::::..........................++++++++ +.....................................................................................+#*+++**+++++++++++++++**+*+=-----:++++++++++++**+++++*--::::=+++++++++*+++++++-=+=--=+++++++*++++++##++++++++++++::::::::::::::::..........................++++++++ +..................................................................................-+%*+++++*++++++++++++++++*++*=***##*++*++++++++++***++++*=::----+*++++++**++++++=-=+=-=++++++++*++++++##++++++++++++::::::::::::::::..........................++++++++ +................................................................................+#%#+++++++*++++++++++++++++*+*##%@@@@@@@%*+++++++++*#%*++++*=+*##%%@%#*#++**+++++++=++=-=++++++++*++++++##++++++++++++::::::::::::::::..........................++++++++ +.........................................................................%#++@%%#**+++++++**++++++++++++++++**%@@@@@@@@@@@@#+++++++++#%#++*#%@@@@@@@@@@%#++*++++++++++++=++++++++++*+++++#*++++++++++++::::::::::::::::..........................++++++++ +.........................................................................#%****+++++++++++*+++++++++++++++++#%@@@@*=+%@@@@@%#++++++++#*=*#%%%@@@@@@@@@@@@%#*+++++++++++++++++++++++*+++++%+++++++++++++::::::::::::::::..........................++++++++ +.........................................................................-%*+++++++++++++**+++++++++++++++++%@@@#-.-%%%%%%%%*++++++++**:+%%%#%@@@%%%@@@@@@@#+++++++++++++++++*+++++*+++++%+++++++++++++::::::::::::::::..........................++++++++ +..........................................................................+#+++++++++++++*++++++++++++++++++@@@#:..*%%%%%%#+#++++++++**:**##+*%@%%%%%%@@@@@#++++++++++++++++*#+++++*++++*%+++++++++++++::::::::::::::::..........................++++++++ +...........................................................................#*++++++++++++*++++++++++++++++++#@#:..:#%%%%%%%-*++++++++**:..:=*##%%%%%%%%%*@@%*+++++++++++++++**+++++**+++##+++++++++++++::::::::::::::::..........................++++++++ +...........................................................................-%*++++++++++**+++++++++++++++++++%=...=%%%=*%%%--*++++++++*:....:#%@@%##%%%%-+@%*+++++++++++++++#*++++++*+++%#+++++++++++++::::::::::::::::..........................++++++++ +............................................................................-%++++++++++*+++*+++++++++++++++==+...*%#*:=#%%-.=*+++++++*-.....*%%%%--%%%%-:#%*+++++++++++++++#+++++++*++*%@*++++++++++++::::::::::::::::..........................++++++++ +.....................................................................++....++@#+++++++++*+++%*++++++++++++++=:+...*#=...:#%-..+*++++++*=.....#%#*+.:*#%%:-%#++++++++++++++++#+++++++**+#%@#++++++++++++::::::::::::::::..........................++++++++ +.....................................................................@%#@@%@%%%%*+++++++*++*@*++++++++++++++=....:++=..:=+#:...+*+++++++.....##+:....-##:*%++++++++++++++++**++++++++**%%%@*+++++++++++::::::::::::::::..........................++++++++ +.....................................................................@*+%%%%%%%%%#**+++**++#%*+++++++++++++++....:++=..:==*.....=*+++++*:...:*++=...:=+*-#*++++++++++++++++**++++++++*#%%%%%+++++++++++::::::::::::::::..........................++++++++ +.....................................................................+#*%%%%%%%%##%%%##%*+*%##+++++++++++++++.....++===-==*......-**+++*-...:+==-..-**=+-#+++++++++++++++++#+++++++++#%%%%%@#++++++++++::::::::::::::::..........................++++++++ +.....................................................................+#*%%#%%%%#*%%%%**#*+**+#+++++++++++++++:....++=====+=........-**##*...:*==--*+-**++*++++++++++++++++**+++++++++*%%%%%%@*+++++++++::::::::::::::::..........................++++++++ +.....................................................................+%*%%%%%%#*%%%@@*+**+#++**++++++++++++++-....-+==--=*:..........:-=+...:*=++#=..+#=*+++++++++++++++++**++++++++++#%%%%%%@#++++++++::::::::::::::::..........................++++++++ +.....................................................................+#*%%%%%%#%%@#=%*+**+#+++#*+++++*##**++++....:+-:::-+...................**##=...+#+*+++++++++++++++++*+++++++++++*#%%%%%%@%*++++++::::::::::::::::..........................++++++++ +.....................................................................+#+%%%%%#%@+-..%*+*#*#++++%*+++*#-+###++*-....=----==...................+*-*....-**+++++++++++++++++**++++++++++++*%%%%%%%%@#*++++::::::::::::::::..........................++++++++ +.....................................................................+@%@@@%#%-.....#*++#*#+++*@@#**#-..::**+++....:===-=....................-+.+:...:*#+++++++++++++++++*++++++++++++++#%%%%%%%%@@#*++::::::::::::::::..........................++++++++ +......................................................................+-++@%%-......+*++##*+++*#=@@%*.....+*++*=.............................==.==....-#*+++++++++#+++++#*++++++++++++++*%%%#%%%%%#*%@*::::::::::::::::..........................++++++++ +.........................................................................#%%-.......=*++*@*+++#%##*+:.....=*+++*+:...........................=-.:+:....=#++++++++*#++++*#*++#*+++++++++++*%%*#%%%%*=%@*::::::::::::::::..........................++++++++ +........................................................................#@#.........+*+++#*+++%#:.........-##***#=..........:::--:...........+:..=-....-#+++++++*%*+++*#**+++#*+++++++++++*#%%%%%%*##*+::::::::::::::::..........................++++++++ +.......................................................................+@@-.........+++++++++*@+..........-*+#-::.........:+=+==-===-:::.....*:..:-....-#+++**##%%+++*##**+++*%*++++++++++++#@@%%*%*+++::::::::::::::::..........................++++++++ +......................................................................-@@-..........%++++++++*@-.....::::.-::*............:+--------====-....+....:::..:#*#%%%%%%%*+*%#***+++*%##*++++++++**#%%#*%*++++::::::::::::::::..........................++++++++ +.....................................................................-@@-...........%++++++++#%:...:::--=:..:+............:=------------=:..:+.....:::..=%%%%#%%%%%#%%*****++*%#%%#******#%%%%#+%*+++++::::::::::::::::..........................++++++++ +.....................................................................#@#............%++++++++%%:...::=+=-:..:*............:=---:--------=-..:+......:::.:#%%%%%@%%%##%*****++*%%#.+%*#%@@##@%%+#*++++++::::::::::::::::..........................++++++++ +....................................................................#@#.............%+++++++*@#:.....::.....-#:............+---:---------=..:+.......:...#%%%%%%%%%%#%***##++*@#..+#+*-..++%@*#*+++++++::::::::::::::::..........................++++++++ +...................................................................-@@.............-%+++++++#@#.............+%*:...........-=--:---------=..-+..........:%%%%%@%%%%%%%***%%++*@-..+#+*...+++%%%++++++++::::::::::::::::..........................++++++++ +..................................................................-%%-.............#%+++++++%*#:............###*-...........+------------=..-+..........:%%%%@%%%%%%@%**#%%*+##...+#+#...++++#+++++++++::::::::::::::::..........................++++++++ +..................................................................*%+.............#%#++++++*#+%:...........:#*#**=..........-+-----------=..:*:.........:#%%@%%%%%%%@#*#%###+%+...+#+%...++++++++++++++::::::::::::::::..........................++++++++ +.................................................................*%%.............-%##**##%%@@@@-...........-%##*#%*:.........-=---------==...==..........+%@%%%%%%%%%@%%#*##*@....+#+*...++++++++++++++::::::::::::::::..........................++++++++ +................................................................-%%-..........-++@%%@@%%%%%%%%%-........:-=*@@@##@#*=...........::-----::....-%-.........-@%%%%%%%%%%@###*#%%#....+#*=...++++++++++++++::::::::::::::::..........................++++++++ +................................................................%##..........+@@%%%%%%%%%%%%%%%*-==+**#%%%%%%%@##@+.-#-.....................:#%#:.......-#%%%%%%%%%%%%%*##@@@-....+**+...++++++++++++++::::::::::::::::..........................++++++++ +...............................................................*#%-..........+@%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%##%+...+*-...................+%%%#:.....-%%%%%%%%%%%%%%@##%*@+.....+*#+...++++++++++++++::::::::::::::::..........................++++++++ +..............................................................+##%...........@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##@+.....+#+-::.............=%%%%%#....=%%%%%%%%%%%%%%%%%##-+......+*%+...++++++++++++++::::::::::::::::..........................++++++++ +..............................................................%*#+..........-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##@+.......-+%#*=---:::---=*%%%%%%%+..=%%%%%%%%%%%%%%%%%@#.........%*%....++++++++++++++::::::::::::::::..........................++++++++ +.............................................................###%-.........#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##@..-#@#+++-::#%=-==--====#%%%%%%%%=*%%%%%%%%%%%%%%%%%%@+.........%*%....++++++++++++++::::::::::::::::..........................++++++++ +............................................................+%##@.........*%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%@.-@%%@@@@@@@@#+----=*##%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%@........-%*+....++++++++++++++::::::::::::::::..........................++++++++ +............................................................%#*##.......+%#**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*%+-#@%%%%%%%%@#*#+-+##**#%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%@+........+#%+....++++++++++++++::::::::::::::::..........................++++++++ +...........................................................#%**%+......#%#***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##@@@@%%%%%%%%%@*+**#**++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#........+#%.....++++++++++++++::::::::::::::::..........................++++++++ +...........................................................%#**%+....#%##****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%##%%%%%%%%%%%**++*++++#%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%*%-.......###.....++++++++++++++::::::::::::::::..........................++++++++ +..........................................................+%***%+..+%%#*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%**%%%%%%%%%%%@%%**+***#%%@%%%%@%%%%%%%%%%%%%%%%%%%%%%%**#@.......%#+.....++++++++++++++::::::::::::::::..........................++++++++ +..........................................................##***@*+@%#********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**%%%%%%%%%%%@##%#####%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%#***%#.....+%%-.....++++++++++++++::::::::::::::::..........................++++++++ +..........................................................%#**#@@%##*********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**#%%%%%%%%%%%%%%%%####%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%#****#@-....#%#......++++++++++++++::::::::::::::::..........................++++++++ +..........................................................%#**#%###*********#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%***%%%%%%%%%%%%#***####%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******##...-@%+......++++++++++++++::::::::::::::::..........................++++++++ +..........................................................%***##*************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***%%%%%%%%%%%%%+*#**++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********@-..#%%-......++++++++++++++::::::::::::::::..........................++++++++ +........................................................-#%#*****************#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%***#%%%%%%%%%%%%%##**#*+*%@%%%%%%%%%%%%%%%%%%%%%%%%%%#********#+.-@##.......++++++++++++++::::::::::::::::..........................++++++++ +......................................................-#@%#******************#%%%%%%%%%%%%%%%%%%%%%%%%%%@%#%****%%%%%%%%%%%%%@#*++*#**%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********%:@%%+.......++++++++++++++::::::::::::::::..........................++++++++ +....................................................+#%##********************#%%%%%%%%%%%%%%%%%%%%%%%%%%%#*%****%%%%%%%%%%%%%%*++++*#%%%%@%%#%%%%%%%%%%%%%%%%%%%#***********%@%#%........++++++++++++++::::::::::::::::..........................++++++++ +..................................................+#%##***********************%%%%%%%%%%%%%%%%%%%%%%%%#****%****%%%%%%%%%#%%%%****+*%%%%%%@%%##%%%%%%%%%%%%%%%%#************#%#%+........++++++++++++++::::::::::::::::..........................++++++++ +................................................+%%###************************#%%%%%%%%%%%%%%%%%%%@%#******%****@@@%%%%%+-=+%%%%#**#@%%%%%%@%%%%%%%%%%%%%%%%%%***************%#%.........++++++++++++++::::::::::::::::..........................++++++++ +..............................................-%%#####************************#%@@%##%@@@%%%%%%%%#*********%*******#%@%==+==%@#==%#+=-=*%%%%@%%%%%%%%%%%%%%%#****************#@+.........++++++++++++++::::::::::::::::..........................++++++++ +.............................................+%#*******************************###%***########*************%*********#+=#%%+++--=#+-+#*=*%%@%%%%%%%%%%%%%%%#******************%-.........++++++++++++++::::::::::::::::..........................++++++++ +............................................*%#********************************%-.%************************%*******#**=##*%*==---+=*%#%*=%%%*%%%%%%%%%%%%#********************%+.........++++++++++++++::::::::::::::::..........................++++++++ +..........................................-%#*********************************#*..+#***********************%*******%*#=+###====-==-+#*#*=###+#%%%%%%%%%#**********************##.........++++++++++++++::::::::::::::::..........................++++++++ +.........................................-%#*******#*##%%#*******************#%...-%***********************%******##**#+++++======-=*#+=*##*++%%%%%%%#************************#@.........++++++++++++++::::::::::::::::..........................++++++++ +........................................-##********##%@@%#******************##-....#***********************%******##***#%%@*=#%#==+==-=*###+++*%%%@#**************************%+.........++++++++++++++::::::::::::::::..........................++++++++ +.......................................+#********#%@#+=%#*******************#%.....-%**********************%******#*******%=*%*%+=%#####*##++***###%*************************#@-.........++++++++++++++::::::::::::::::..........................++++++++ +......................................#%#******##@#-..%#********************#+......%**********************#******#*******#=*%##=+#******#*+#%*****#%************************%#..........++++++++++++++::::::::::::::::..........................++++++++ +.....................................+%#*****##@#-...+%#*******************#%.......+#****************************#*******#+=##==#*******#*#%%******#%**********************#@-..........++++++++++++++::::::::::::::::..........................++++++++ +....................................-%#*****#%#-.....%#********************#+.......-%****************************#********#+===##*******####%**##%%%%#*********************%#...........++++++++++++++::::::::::::::::..........................++++++++ +....................................%##***##@+......-%#*****************#*#%.........+#**************************##*********#####********%%**%#%%%##**##*******************#@............++++++++++++++::::::::::::::::..........................++++++++ +...................................+%##**#%#-.......##********************##..........%*************************#%****%%#****##*********#@***%#********##*****************#@-............++++++++++++++::::::::::::::::..........................++++++++ +..................................-%#***#%#........-@#*******************#%-..........+#***********************#@%***@@%%%#******%@%#****#**************##***************#@+.............++++++++++++++::::::::::::::::..........................++++++++ +..................................+%****%#.........+%#*******************##............%**********************##*%**#@#**#@#***%@%##%%*******************%#*************#@#..............++++++++++++++::::::::::::::::..........................++++++++ +..................................%#***%#..........+%********************%+............##********************%#.+%**#%****#%#%@%#***#@#******************%%#***********%@-...............++++++++++++++::::::::::::::::..........................++++++++ +.................................+%#**##...........+#*******************#%.............-%******************#%+..+#**#%*****#%@#*****#@#******************%#%#********#%#-................++++++++++++++::::::::::::::::..........................++++++++ +.................................+#**#%-...........@#*******************#+..............@#****************##-...@#***%%###%@%#%#***#@%*******************%##%#******%@-..................++++++++++++++::::::::::::::::..........................++++++++ +.................................##**%+............@##*****************#%...............+%**************#%#.....@*****#%@@%#**%@@@@@%********************%###%#***#%%+...................++++++++++++++::::::::::::::::..........................++++++++ +.................................%#*#%.............@#*****************##%................@%************%#-......%***************###*********************#%#*##%%#%%##+...................++++++++++++++::::::::::::::::..........................++++++++ +.................................%#*%+.............@#******************%+................+@#*********#%-.......+%***************************************#%****##%##*#+...................++++++++++++++::::::::::::::::..........................++++++++ +.................................@##%-.............@#*****************#%-.................#@%##***##%#.........+%***************************************##**********#%...................++++++++++++++::::::::::::::::..........................++++++++ +.................................+##*..............@#*****************#%...................+++#@@@#+-..........##***************************************##***********%...................++++++++++++++::::::::::::::::..........................++++++++ +.................................+%#+..............##*****************##.......................................@#****%@@%#*****#%@@%********************##***********%...................++++++++++++++::::::::::::::::..........................++++++++ +..................................#%+..............+#*****************#+.......................................%****%@##%@#**#%@%##%%*******************##***********#...................++++++++++++++::::::::::::::::..........................++++++++ +..................................-@+..............+%*****************#-.......................................%****@#***#%*#@%#****@#******************%************%+..................++++++++++++++::::::::::::::::..........................++++++++ +...................................#@..............-%#****************#.......................................+%****%#****%%@%*****#@#******************%************#+..................++++++++++++++::::::::::::::::..........................++++++++ +....................................+...............@#***************#%.......................................+%****#%%##%@%%%#***#@%******************##************#+..................++++++++++++++::::::::::::::::..........................++++++++ +....................................................+%***************#%.......................................##*****#%%%%#**#%@@@@%*******************##************#+..................++++++++++++++::::::::::::::::..........................++++++++ +....................................................-%#**************#%.......................................@#***************###*********************%#*#**********#+..................++++++++++++++::::::::::::::::..........................++++++++ +.....................................................##**************#%.......................................@#***************************************%#************##..................++++++++++++++::::::::::::::::..........................++++++++ +.....................................................-%#*************#%......................................+@**************###***********************%##***********#%..................++++++++++++++::::::::::::::::..........................++++++++ +......................................................#%*************#%......................................+%**********#%%%%%%%**********************%#************#%..................++++++++++++++::::::::::::::::..........................++++++++ +.......................................................%##************%+.....................................##*********#%%%%%%%%%*********************#%#***********#%..................++++++++++++++::::::::::::::::..........................++++++++ +.......................................................-@#************#+.....................................%#********#%%%%%%%%%%#*********************#%***********#%..................++++++++++++++::::::::::::::::..........................++++++++ +........................................................-@#***********#%.....................................@#********%%%%%#%%%%%%*********************#%#***********%..................++++++++++++++::::::::::::::::..........................++++++++ +.........................................................-#%#*********#%+...................................-%*********%%%%+==%%%%%#********************#%************%..................++++++++++++++::::::::::::::::..........................++++++++ +...........................................................-#%##*******#@..................................-%#********#%%%@+==%%%%%#*********************##***********%..................++++++++++++++::::::::::::::::..........................++++++++ +..............................................................*%##*****#%#-...............................-%#*********#%%%%%#%%%%%%***********************%#*********#%..................++++++++++++++::::::::::::::::..........................++++++++ +................................................................+%%###**#%@+-............................-%***********#%%%%%%%%%%%%***************#********%#********#+..................++++++++++++++::::::::::::::::..........................++++++++ +..................................................................-+#%%#%%%@@-..........................-%#****#*******#%%%%%%%%%%#***************%*********##*******#+..................++++++++++++++::::::::::::::::..........................++++++++ +........................................................................++++...........................-%#****%%********%%%%%%%%@#****************%**********##******%+..................++++++++++++++::::::::::::::::..........................++++++++ +......................................................................................................-%#****%@#********##@@@@@@##****************@#*********###*****%-..................++++++++++++++::::::::::::::::..........................++++++++ +.....................................................................................................-##****%%%********#*#*##*%%+#****************@%**********###***#%...................++++++++++++++::::::::::::::::..........................++++++++ +.....................................................................................................##****%%%%********#*#+#**#%*#***************#%%***********###**#+...................++++++++++++++::::::::::::::::..........................++++++++ +....................................................................................................*#***#%@%%%*******#+#*****#%#*#**************%%%#***********##**%-...................++++++++++++++::::::::::::::::..........................++++++++ +...................................................................................................%#***#%%%%%%******#*##+#***#%#+#**************%%%%************####....................++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................................*#***%%#%%%%#********%*#****#%#+#**************%%%%*************%%-....................++++++++++++++::::::::::::::::..........................++++++++ +.................................................................................................*#**#%###%%%%#******+##+#****##%+#*************#%%%%#************#@-....................++++++++++++++::::::::::::::::..........................++++++++ +...............................................................................................-*#**#%####%%%%#****#+#%*******##%***************%%%%%%*************##....................++++++++++++++::::::::::::::::..........................++++++++ +...............................................................................................%**#%%#####%%%%#****+*%#+******##%***************%%%%%%**************##...................++++++++++++++::::::::::::::::..........................++++++++ +.............................................................................................-*#*#%#######%%%%#****+##+*******#*%**************#%%%%%%#**************%@#.................++++++++++++++::::::::::::::::..........................++++++++ +............................................................................................:%*#%%########%%%%%***+#%#+*******#*%#*************%%%%%%%%***************#%@+...............++++++++++++++::::::::::::::::..........................++++++++ +...........................................................................................-%##%##########%%%%%#*+*%#+********#*%#************#%%%%%%%%#****************#%#-.............++++++++++++++::::::::::::::::..........................++++++++ +...........................................................................................#%%%###########%%%%%%*+%%*+**********%#+***********%%%%%%%%%#******************%%-............++++++++++++++::::::::::::::::..........................++++++++ +..........................................................................................#@%#############%%%%%#+#%#+***********%#+**********#%%%%%%%%%%*******************#%#...........++++++++++++++::::::::::::::::..........................++++++++ +.........................................................................................#@%##############%%%%#+*%%*+***********%#=**********%%%%%%%%%%%%********************#%-.........++++++++++++++::::::::::::::::..........................++++++++ +........................................................................................#%################%%%%*+%%#=*#**********%#+********#%%%%%%%%%%%%%*********************#%#........++++++++++++++::::::::::::::::..........................++++++++ +.......................................................................................-%#################%%%#+#%%*=%%#*********%#+******#%%%%%%%%%%%%%%@#**********************%#.......++++++++++++++::::::::::::::::..........................++++++++ +......................................................................................-%##################%%%+*%##=*%%%%#*******%#+#***#%%%%%%%%%%%%%%%%@%***********************%%-.....++++++++++++++::::::::::::::::..........................++++++++ +.....................................................................................-%###################%%*+#%#+=#%%%%%%%#****%#+%#%%%%%%%%%%%%%%%%%%%%+#***********************#%-....++++++++++++++::::::::::::::::..........................++++++++ +....................................................................................+%####################@#=####=*%%%%%%%%%%%#*%#+%%%%%%%%%%%%%%%%%%%%%@:%************************#%:...++++++++++++++::::::::::::::::..........................++++++++ +...................................................................................-%#####################@+*%%#+=%%%%%%%%%%%%*#%#+#%%%%%%%%%#%%%%%%%%%%@.+#*************************%-..++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................-%#######################=#%%#=+:.:::::-=+*#*#%#+#%%%%%%%%%%%%%%%%@%@@@..%**************************#+.++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................%######################%*#%%%*==...........:*#%#+##+=--::::::::::::-=*+..+#**************************#+++++++++++++++::::::::::::::::..........................++++++++ +.................................................................................#%#######################%%%%#++:...........-+#%#+#:..................++..-@***************************#%+++++++++++++::::::::::::::::..........................++++++++ +................................................................................#@######################%+#=#%*==............-+#%#+#:..................*+...##***************************##++++++++++++::::::::::::::::..........................++++++++ +...............................................................................*%%#####################%#+#:=%++:............=+#%#+#:..................*.....%****************************##*++++++++++::::::::::::::::..........................++++++++ +..............................................................................+#%######################%+=%#***+.............++%%#+#:..................#.....#%*****************************%*+++++++++::::::::::::::::..........................++++++++ +.............................................................................*#%#######################%+=+*++%+.............++%%#+#:.................:*......@******************************%*++++++++::::::::::::::::..........................++++++++ +............................................................................+#*%######################%*==+%*++:.............*+%%%#%:.................-+......##*****************************#%*+++++++::::::::::::::::..........................++++++++ +...........................................................................-#*#######################%#====++...............:##@@#+#:.................=+.......%*******************************@#++++++::::::::::::::::..........................++++++++ +..........................................................................-#**%######################%====+=+-..............-%+%@++%:.................*+.......+#******************************#@#+++++::::::::::::::::..........................++++++++ +.........................................................................-%**#######################%*-+==+*=+:.............:%#+*=#%:.................#.........%*******************************#@#++++::::::::::::::::..........................++++++++ +........................................................................-%#**%######################%+=#==+%+*-..............%@#==%%:................:%.........##*******************************#@*+++::::::::::::::::..........................++++++++ +........................................................................##**########################@+=#=*+@*=:.............:%*+--+#:................-+.........-%********************************%%+++::::::::::::::::..........................++++++++ +.......................................................................##***#######################%@#+#+###:...............=*=---+#:................=+..........##********************************%%++::::::::::::::::..........................++++++++ +......................................................................#%***#######################%@*@%@%@@#................#==*+=*#.................#-..........-%*********************************@#+::::::::::::::::..........................++++++++ +.....................................................................-@#***#######################%-....--:#:..............-#*#*#+%*................:%............##********************************#@+::::::::::::::::..........................++++++++ +.....................................................................##****######################@+........*:..............-%#+*%#@*................-+.............#*********************************@#::::::::::::::::..........................++++++++ +....................................................................-#****######################%#.........=-...............*+..+++*................++.............+*********************************%#::::::::::::::::..........................++++++++ +...................................................................-%*****######################@-.........+-...............*-....++................*..............-#********************************#%::::::::::::::::..........................++++++++ +...................................................................*#*****%####################%#..........+=...............#.....+=...............:%...............*********************************#@::::::::::::::::..........................++++++++ +..................................................................-#*****#####################%@...........+=..............:%.....+=...............=#...............-#*******************************#@::::::::::::::::..........................++++++++ +.................................................................-%******#####################@+...........+=..............=#.....+=...............++................%*******************************#@::::::::::::::::..........................++++++++ +.................................................................##******####################%#............*-..............*+.....#=..............:*+................+#*******************************%::::::::::::::::..........................++++++++ +................................................................-#******#####################@-............#..............:*......@=..............:#.................-%*******************************%::::::::::::::::..........................++++++++ +................................................................%*******####################%#............++..............++......+=..............:#..................#*******************************%::::::::::::::::..........................++++++++ +...............................................................+#*******%###################@-............+-.............:#.......+=..............:#..................-#******************************%::::::::::::::::..........................++++++++ +..............................................................-%********%##################%@.............#:.............-=.......+=..............:#...................%******************************%::::::::::::::::..........................++++++++ +..............................................................@#*******####################%@............-+..............=+.......+=...............#...................+#*****************************%::::::::::::::::..........................++++++++ +.............................................................-%********####################@-............+-..............+........++...............*-...................#****************************#%::::::::::::::::..........................++++++++ +.............................................................##********###%%%@@@@@%%@%%###%@.............+:..............#........++...............*+...................+*****************************%::::::::::::::::..........................++++++++ +.............................................................@#********%%@#+........-++@@%@+............+*..............:=........+*...............++...................-#****************************%::::::::::::::::..........................++++++++ +.............................................................%*********@@-..............-+#-............+=..............-=.........#:..............=+....................%***************************#@::::::::::::::::..........................++++++++ +.............................................................%********#@:...............................*:..............+-.........%:..............=+....................+#**************************#%::::::::::::::::..........................++++++++ +............................................................+%********#@................................*...............*..........%-..............-+....................-%**************************##::::::::::::::::..........................++++++++ +............................................................+%********##...............................++..............:=..........@-..............-+.....................+**************************%#::::::::::::::::..........................++++++++ +............................................................+#*##*#***%+...............................+-..............-=..........#=..............-+.....................+%*************************%*::::::::::::::::..........................++++++++ +............................................................+#*#==*#**%+...............................#...............=-..........+=..............:#......................%************************#@+::::::::::::::::..........................++++++++ +............................................................+##*===*#*%+..............................-*...............+...........+*..............:%......................##************#**********#%+::::::::::::::::..........................++++++++ +............................................................+#%=====*#%+..............................+=..............:-...........+*..............:%......................+%*********###*%*********%#+::::::::::::::::..........................++++++++ +............................................................+##===--=#@+..............................+=..............-=...........+#...............#.......................@#******##*-==*#*******#@*+::::::::::::::::..........................++++++++ +............................................................+%*====--=##..............................+*-.............=+............#:.............:#.......................#%****#%*=---==%*******%%++::::::::::::::::..........................++++++++ +............................................................-@+==+#+-==%..............................%:-=............++............%:............:+%.......................+@**##*====-==-*#******@*++::::::::::::::::..........................++++++++ +.............................................................%==**@#===%..............................%..:=-.......:-=#.............@+:.........:=+-#-......................-@%#+=-=====-===%*****%%+++::::::::::::::::..........................++++++++ +.............................................................%--##*#===%..............................%:...-==----=+==*.............@*===-::::-=+-.:#........................%+--==-====-===#****#@*+++::::::::::::::::..........................++++++++ +.............................................................@==##*#===%..............................#+-....::--::..-+.............++..:-----::....#........................@+--=--+%@%+==-*#**#@#++++::::::::::::::::..........................++++++++ +.............................................................#*=#%@*=-=#.............................-#++=::.........++.............+#:............:#........................##----+%-.-%==-=#*#@#+++++::::::::::::::::..........................++++++++ +.............................................................+#+*#%=-==#.............................++=++++==-----==#..............+%-::.::...:-==+%........................+%=---#+...%*=--%%@#++++++::::::::::::::::..........................++++++++ +..............................................................%#**+====#.............................+=.:=++++*++++***...............%*++=====++**++%........................-%=--=%+..+%*---#%*+++++++::::::::::::::::..........................++++++++ +..............................................................#@#=-====#.............................+=....:--------=+...............%+++++++++==-::#.........................@+---#@##%*#=--*%++++++++::::::::::::::::..........................++++++++ +..............................................................@%#=--===#.............................+-.............++...............%:.::-::::.....#.........................@+---=%%#*#+--*@%++++++++::::::::::::::::..........................++++++++ +..............................................................%=#+====-#-............................+:.............*................%-............:#.........................+*----++*=#==*@#+++++++++::::::::::::::::..........................++++++++ +..............................................................#=:++==--#+............................*:............:#................+-............:#.........................+#--==--++#+#@%*+++++++++::::::::::::::::..........................++++++++ +..............................................................+*:-*==--*+............................%:............-=................+=............:#.........................+%--==--=##*++#@#++++++++::::::::::::::::..........................++++++++ +..............................................................@=..-+==-*+............................%.............=+................++............:%.........................-%=-===--##---:*@*+++++++::::::::::::::::..........................++++++++ +..............................................................%:...=*=-+@............................#.............+-................++............:%..........................%====--+**:+:.:+@*++++++::::::::::::::::..........................++++++++ +..............................................................%:.:.:++==@+...........................#.............#..................+............:%..........................@*====*#-===....*#++++++::::::::::::::::..........................++++++++ +..............................................................#..-..:+*+%@-..........................*............:%..................*............:%..........................+#==+#@*.::.....:%*+++++::::::::::::::::..........................++++++++ +..............................................................#..-...:++++%-.........................*............-+..................*............:+..........................+%+*%##*.........*#+++++::::::::::::::::..........................++++++++ +..............................................................%..-:....::.=@@-.......................*............++..................#:...........:+...........................%%+-.-*..:...-..+#+++++::::::::::::::::..........................++++++++ +..............................................................*:.--...=-:-##+-......................-*:...........*...................#:...........-+.................................%:.+:..==.=#+++++::::::::::::::::..........................++++++++ +..............................................................+=.:+:..:*%%+.........................+#:..........:#...................%-...........-+.................................#+.-#*=-**##+++++::::::::::::::::..........................++++++++ +...............................................................#:.++-::-+...........................+*...........:%...................*-...........=+..................................%-:+%@%%%*++++++::::::::::::::::..........................++++++++ +...............................................................-#--%%#*%+...........................+*...........-%...................=-...........++..................................-%+=#@*+++++++++::::::::::::::::..........................++++++++ +................................................................-*%@%-..............................+#...........=@...................+=...........*+...................................-###*++++++++++::::::::::::::::..........................++++++++ +...................................................................-+................................*...........=@...................++...........*+....................................++++++++++++++::::::::::::::::..........................++++++++ +....................................................................................................-%...........=@...................+*...........*+....................................++++++++++++++::::::::::::::::..........................++++++++ +....................................................................................................#%...........+@...................+#:..........*+....................................++++++++++++++::::::::::::::::..........................++++++++ +...................................................................................................-@#..........:*@...................+%:..........#+....................................++++++++++++++::::::::::::::::..........................++++++++ +...................................................................................................#@-..........:%@...................+%:..........#+....................................++++++++++++++::::::::::::::::..........................++++++++ +...................................................................................................@#...........+@+...................+#...........++....................................++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................................+@*..........-%@+...................+*...........=@....................................++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................................@@=.........:*%@+...................++...........=@....................................++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................................@@=.........=%%@+...................#=...........-@....................................++++++++++++++::::::::::::::::..........................++++++++ +.................................................................................................+@%+:::::::.-#%%@-...................@=...........*@-...................................++++++++++++++::::::::::::::::..........................++++++++ +.................................................................................................+@%%#%%%%##+#%%%@...................+@*++++++**+--%@+...................................++++++++++++++::::::::::::::::..........................++++++++ +.................................................................................................+@%%%%%%%%%%%%%@+...................+@%%%%%%%%%%%#%@+...................................++++++++++++++::::::::::::::::..........................++++++++ +.................................................................................................+@%%%%%%%%%%%%%#....................+@%%%%%%%%%%%%%@+...................................++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................................@%%%%%%%%%%%%@-....................+@%%%%%%%%%%%%%@+...................................++++++++++++++::::::::::::::::..........................++++++++ +..................................................................................................#%%%%%%%%%%@@-.....................-@%%%%%%%%%%%%%@....................................++++++++++++++::::::::::::::::..........................++++++++ +...................................................................................................#@%%%%%%%%-........................@%%%%%%%%%%%%@-....................................++++++++++++++::::::::::::::::..........................++++++++ +....................................................................................................#@@@@%@+..........................+@@%%%%%%%%@@-.....................................::::::::::::::::::::::::::::::..........................++++++++ +.........................::...........................................................................+++..............................-#@%%%%@%@+.......................................:::::::::::::::::::::........................................... +.........................................................................................................................................::++++::........................................................................................................ +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................-------- +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+**#@@%@@@@@*****+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*@@@@%%%%%%%%%%%%%%%@%%@@#**=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#**=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#@%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#@%%%%%%%+==#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#@%%%%%%%%*====#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%#===-==+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%@#*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%#===+=-=-=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%@@#*=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::=#%%%%%%%%%%%%+-=+%#===--*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%@@::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%*-==*%#*=====+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%@+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::=#%%%%%%%%%%%%%#====*#==--=====#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::=*@%%%%%%%%%%%%%#=-===##=---===--=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%@@%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%=-===-*#=---=======*%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%%%%%+-====-+#*--=========*%%%%%%%%%%%%%%%%%%%%##%%%%@@%%%%%%%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%*========##*++=========#%%%%%%%%%%%%%%%%%%***#%%@@%%%%%%%%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%+-=======**####*=--====*%%%%%%%%%%%%%%%%%*****%%@%%%%%%%%%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%========-===*#%%*+=====#%%%%%%%%%%%%%%%%#*****#@@%%%%%%%%%%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%+-=====-=**+=*#%##=====#%%%%%%%%%%%%%%%%******#@%%%%%%%%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%*=====-=####==#%*===-==#%%%%%%%%%%%%%%%%******#@%%%%%%%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%=====-+%**#==##+*+==-=%%%%%%%%%%#****#@*+==+*%##%@%*%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%*===*+#%+=+=+#**#+==-=%%%%%%%%%%******##+:-+*****%#*#@%%%%%%%%%%@%=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%====*#%#===#%###===-+%%%%%%%%%%*****+++=:-===***##*###%%%%%%%%%@@@@@@@#*=:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%*====+#%*=+#%%#+===-+%%%%%%%%%%*****+---::--=***%***#%%%%%%%@@@%%%%%%%%%@@#=::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%=-====*%*#%#*=-===-*%%%%%%%%%%%#****=--:::-*#%%#***%@@%@@@@@@%%%%%%%%%%%%%@#=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%+-=====*%%#+=======*%%%%%%%%%%%%%%%*+=---:=*#%%*****#@@@%%%%%%%%%%%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%#=====-=#%*========#%%%%%%%%%%%%#***+-:=+--++#%**%#*#%%%%%%%%%%%%%%%%%%%%%%@@::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%+-===--*#*========%%%%%%%%%%%%%*+++*++**++**#%*%@%%@%%%%%%%%%%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::=*@@@@@%%%%%%%%%%%%%%*=====-=#*=======+@@@@@@@@@@@@#++**+**%*****#@@%%%%%%%%%%%%%%%%%%%%%%%%#+:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::+#@%%%%%%%@%@%%%%%%%%%%%%======-#*=======+@%%%%%%%%%%@#+*+***#@%***#%%%%%%%%%%%%%%%%%%%%%%%%%*=:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%%@@@@@@@@@@@@@@@#=-====+*=======*@%%%%%%%%%%@%****#%%%%%#%%%%%%%%%%%%%%%%%%%%%%%#%#::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::=#%%%%##%%%%%%%%%%%@@%%%%%%%%%%+--====*=======#@@@@@@@@@@@@@%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%#*++#=:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::+#@%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@%===---=----===%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*++++*%:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::@%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@#%%#####*###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###++++++++#*::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****+++++++++%::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*++++**++++++++#+:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**++++++++*++++++++*#:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::=@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**+++++++++++++*++++++++%:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**++++++++++++*++++++*+++++++#+::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::-@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***++++++++++++++++#++++++**++++++**::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::#%*+**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**+++++++**+++++++++++=+++#*++++++**++++++%::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::#%*+++++*#**####%%%%%%%%%%%%%%%%%%%%%%%%%%#####**##+++++++*+++++**++++++++++=-=++**+++++++**+++++%::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::=%*++++++#*+++++++**#%#############******++++++++++#*++++***+++++*#++++++++++=--++*#+++++++++*++++#=:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::@#++++++*#++++++++++##*+++++++**+++++++++++++++++++*#*+##*+++++++*#+++++++==++--+++#++++++++++**++#*:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::#%+++++++#*++++++++++##+++++++++#++++++++++++++++++++**#*++++++++++#+++++++-=++-=+++#+++++++++++***#*:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::@#+++++++#+++++++++++#*+++++++++%++++++++++++++++++++*=**++++++++++#+++++++=++++++++**++++++++++++#%*:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::@*++++++**++-=+++++++#*+++++++++%*+++++++++++++++++++**-+*+++++++++*++++++++++++++++**+++++++++++++*%#+:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::@*++++++#++=-=+++++++**++++###**#*++++++++++++++++++++*--=#*+++++++*++++++++++++++++**+++++++++++++++*%%**=:::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::@*+++++**++=-=+==++++**++++++**#%#*+++++++++++*++++++++*::-*#**++++#+++++++++++++++++*+++++++++++++++++*#@+:::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::@*+++++*+++=-=+=-+++++*++++++++*+=*+++++++++++**+++++++*=:::-+######+++++++++++++++++*+++++++++++++++++*%#::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::@*+++++*+++==++==+++++#++++++++#=:=+++++++++++**++++++++*-::::--==-++++++++++++++++++*++++++++++++++++#%*:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::@#++++**++++++++++++++*++++++++#---+++++++++++****++++++*=::--:::..++++++++++++++++++*++##*+++++++++*%#=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::*#++++*+++++++++++++++*+++++++**-::-*++++++++++*#**++++++*-::......++++++++++++++++++*++%####****####%+:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::*#++++*+++++++++++++++**++++++*=::::+++++++++++***%#*+++++*:.......+*++++++++++++++++*++#+++**##***+*#+:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::*#++++*++++++++++++++++*++++++#-::::-+++++++++++**##**++++**-:....:*%#*++++++++++++++*++#++++++++++*#*%*::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::*#+++**++++++++++++++++*+++++*+..::::-+++++++++++*##:+***++*##=.:+%%%%#++++++++++++++*++#++++++++++*%*#@#+:::::::=#+::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::%*+++*+++++++++++++++++*+++++#:.......-+++++++++++*#-.:-++***+=*%@@@%%#+++++++++++++**++#++++++++++#%##%%@@@***#@%@+::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::##++++*+++++++++++++++++**+++*+.........=+++++++++++**:....:=*%@@@@@%#*++++++++++++++**++#++++++++++%%##%%%%%@@@%*+#:::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::=#+*#+**+++*#+++++++++++++*+++*:.........:++++++++++++*+..:-*@@@@@@#**++++++++++++++++**++#++++++++++%%#*%%%%%%%%%+#=:::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::#*+##+*++++%%+++++++++++++*++#=...........:++++++++++++*=+%@@@@@@*=:+****+++++++++++++#*++#+++++++++*%%%*#%%%%%%%**#::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::=#+*%#+*+++###+++++++++++++***+.............:++++++++++++#%@@@@@@@%#%%%%%#+++++++++++++#+++#+++++++++#%%%*#%%#+#%#+%:::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::*%+*%%#**++*#*#++++++++++++++#*-::::..........:=++++++++++*#@@@@@@@@@@@%%%%++++++++++++*#++*#+++++++++%@%%##%%%%%%*%*:::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::%#:::::::=*@%*+#%%%**++#*+#++++++++++++++#*+%%%##**+++++:...-+**+****+::#@@@%%%%%@%%%#*+++++++**+++**++**++++++++*#=@@##%%%%%###::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::*@%@***#@@%%#+#%%%%#*+*#++#*+++++++++++++*%#@@@@@@@@@@@@#-....-====-:...:--::::::**+++++++++++%#+++#*++**++++++++#=::###%%%%%%#:::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::#++%@%%%%%%+*%%%%@%*+#+++*#++++++++++++++#*=*##%@@@@@@@@=......................-*+++++++++++%%%++*%+++#*++++++++#:::+###*@@@*=:::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::*#+%%%%%%%**#%%%@=%**#++++#*+++++++++++++*+.::-+%@@@@@@%-......................+*+++++++++*%%#%*+#@*+*#++++++++++::::##%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::=%+%%%%%%#+#%%@#=:@*#*+++++#++++++++++++++*=#%@@@@@@%*-:......................-*+++++++++###%#%**%%#+#*++++++++*+::::##%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::@*#%%%%%**%%@*:::@##++++++*#+++++++++++++*%@@@@@%+-:........................:**+++++++#%*+#@@@*%**#*%*++++++++#:::::#*%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::*##%%%%#*%@#:::::@%#+++++++*#+++++++++++++#@@%+-............................*%#*****#@@*++##-#%#:#%%@*++++++++#:::::##%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::*%#%%%%*%#=::::::@@*+++++++++#*++++++++++++#*:.......................:......--=====-*@#+++#=:@#::@@%%++++++++*=:::::#*%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::+%+%@%%#=::::::::@%+++++++++++*#*+++++++++++*#+:.............:--====++-...........:*@#++++%::+:::+=:%++++++++%::::::#*%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::#@@##*#:::::::::@#++++++++++++*##*++++++++++*#-...........:====------+:.........:*@#+++++%::::::::=#+++++++*%::::::##%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::##=:::::::::@*++++++++++++#*+**#*****#*+-:..........-===----------=........-#@#+++++**::::::::*#+++++++##::::::##@:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::=%+::::::::::%*+++++++++++*#++++++**%##=............:=-------------=......:+%*#++++++#*::::::::+*++++++*#+::::::###:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::*%:::::::::::%+++++++++++*#++++++++##*#+............:=---------------...:=#@@%*++++++%=::::::::#*++++++*%+:::::=##+:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::+%+:::::::::::%+++++++++++#*++++++++##*##-............-=-------------=..-*#%@%*+++++++@*::::::::%+++++++#%+:::::+##*:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::#%:::::::::::=%++++++++++#*++++++++*%#**##+:...........--------------==+***%%*+++++++*%@::::::::#++++++*#%::::::+#%=:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::%#:::::::::::##+++++++++*#+++++++++*@##**#@#+-:.........-=------:---=##****%*++++++++##%*::::::=#++++++#*%::::::*#%::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::+@=::::::::::=%#+++++++++#++++++++++*@@%###@=+##*=-:......-==------=*#**+++##++++++++#%*#@::::::*#+++++*#*%::::::###::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::##:::::::::::###++++++++#*+++*++++++*@=#@@@@+:::++##*+=-::::-++=+++*#******#+++++++**%#**%=:::::+*+++++#*##:::::=#%*::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::@*::::::::::#%#*+++++++*#+++**++++++*@:::::::::::::::=+++###*#%%#+=#*+*#%##*+++*****#%***##:::::%+++++*#*#+:::::+#%=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::=@*:::::::::=%##*+++++++#*+++**+++++++%=::::::::::::::::=#@%%%****###++#%*%#********#%*****%=::::#+++++#**#+:::::%##:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::*@+::::::::=%###*++++++*#+++****++++++#*:::::::::::::::#@@%%%%%*******#%##%#######%%%******#*:::+#++++*#**#+::::+%%=:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::#%:::::::::##**#+++++++#*+++****++++++*%:::::::::::::=@@%%%%%%%##****#%%%%##%%%%####********@=::+*+++*#***#+::::###::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::%#::::::::##***#+++++++#+++******++++++##::::::::::::*@%%%%%%%%%###%%#%####%#***************%*::%++++##***#=:::=%%=::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::%#:::::::##****#++++++*#+++%#*****+++++*%*::::::::::*@%%%%%%%%%%####%#**%#%#****************#@:+#+++*#****#::::%%=:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::%#::::::##*****#++++++**++#@#********++*#@+:::::::=@%#%%%%%%%%%%%*##***#%%#******************@=#*++*##****%:::*%#::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::%%+::::*%*****##++++++#*+*%%#*********#%@@=::::::*%#**%%%%%%%%%%%#*#*+*%@#******************%%*%+++##*****%::=%#:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::+%#*:::##******#*+++++*%*+#**%*******#%@*:::::::=#%****%%%%%%%%%%%%%**#@@%#******************%%@#++*#*******:=@@::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::=%#+::#%*******#*++++*%@*+%==%*****#%@*:::::::=#%******%%%%%%%%%%%%@%@%%%%%%****************%##%++*##*****#+=@@=::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::%#%-#%********#*+++*%=***#::@#****%#::::::::#%#*******#%%%%%%%%%%@@%%%%%%%%%#**************%*#%++#*******##@#=:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::%#%%#********##+++*%*:*##+::=%***#@:::::::*%#*********#%%%%%%%%%@%%%%%%%%%%%%#************%#**%+##*******#@#:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::%###*********##++*%#::+%%::::#%**%*:::::*%#************%%%%%%%%@%%%%%%%%%%%%%%#**********##***%##********#+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::=%#***********##+*##::::@#:::::*%%@+:::=%#**************%%%#+#%@%%%%%%%%%%%%%%%%#*********%****###********#:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::=##************#**##:::::@*::::::::::=*##****************%%%*.:-*%%@%*#%%%%%%%%%%%#*******##****##*********#:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::+%#************#%*#%=:::::#+:::::::+*#@%#*****************#%%*...:#+++--+%%%%%%%%%%%#******%******%***#*****%:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::#%#*************###%=::::::::::=**@@@@%#*******************#%%+....--:==::=%%%%%%%%%%%#****##******%*********%:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::###****************%#:::::::+*@@@@%%%%%%#********************%%*........::::=%%%%%%%%%%%#***%*******##*******#+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::=%#**#**************#@::::::=@@@%%%%%%%%%%%#*******************%%#..........::-=%%%%%%%%%%%#*%#*******###******#+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::=%##****************#%++=+:::#@%%%%%%%%%%%%%%*******************#%%:.........:::-=%%%%%%%%%%%#%*********#*#*****#+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::=%##*****************#@%%####%%%%%%%%%%%%%%%%%*********************#-..........:::-*%%%%%%%%%%@#*********#*******#=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::=%#******************#%+:::..::=%%%%%%%%%%%%%%%#******************###-..........:--+#%%%%%%%%%%@#*********##******#::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::=%#******************#%@*........*%%%%%%%%%%%%%%%*****************#=:::..::......:=#%%%%%%%%%%%%%**********##******#::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::=%#*****#*************##-%=.......=%%%%%%%%%%%%%%%*****************#=:.....::....:*%%%%%%%%%%%%%%#**********##******%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::=%#****###*************#=:=%-......:#%%%%%%%%%%%%%%#****************###*-........-#%%%%%%%%%%%%%%%***********##******%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::=%#****#%%#************##:::=#-...:::#%%%%%%%%%%%%%%#*******************%%-.....:=%%%%%%%%%@%%%%%%%************#*****#%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::=##****#%@#*************#+::::=#:.-++-+#%%%%%%%%%%%%%%******************#%%%=..:=#%%%%%%%%%%%%%%%%%#************#*****##::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::##****#%%@#************#%::::::*#:=-..=%%%%%%%%%%%%%%%*****************#@@%%%**#%%%%%%%%%%%%%%%%%%%*************##****#*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::##****#@=#%*************#*:::::::#*==::-#%%%%%%%%%%%%%%#***************#@@%%%%%%%%%%%%%%%%%%%%@%%%@#*************##****%*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::=#****##=:@##************%=::::::::#+=+--#%%%%%%%%%%%%%%%**************%#=@%%%%%%%%%%%%%%%%%%%%@%%%%**************##****%=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::=%#***##::=%##***********#%:::::::::=%+=+-#%%%%%%%%%%%%%%%*************%*::@%%%%%%%%%%%%%%%%%%%@%%%%#***************%***#%:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::##***#%:::*%*************#*::::::::::=##=-*%%%%%%%%%%%%%%%#**********%#=::=@%%%%%%%%%%%%%%%%%%%%%%%%****************%#**#%:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::*%***#%=:::*%*************#+::::::::::::*@%%%%%%%%%%%%%%%%%#********#%*::::*@%%%%%%%%%%%%%%%%%%%%%%%*****************%#**#*:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::%#***%=::::*%*************#::::::::::::::::*%%%%%%%%%%%%%%%%*******#@=:::::*@%%%%%%%%%%%%%%%%%%%%%%#*****************###*%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::*#***#*:::::*%*************%::::::::::::::::*%%%%%%%%%%%%%%%%******%#:::::::*@%%%%%%%%%%%%%%%%%%%%%#*******************%#*%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::%#**#%::::::=%*************%::::::::::::::::+%%%%%%%%%%%%%%%%#****%*::::::::+@%%%%%%%%%%%%%%%%%%%%#********************#%#%::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::+%***%=:::::::%#************%:::::::::::::::::%%%%%%%%%%%%%%%%%**#%*::::::::::#@%%%%%%%%%%%%%%%%%@%*********************%##%::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::*#**##::::::::*#************%:::::::::::::::::@%%%%%%%%%%%%%%%%*#%=:::::::::::=*@@%%%%%%%%%@%%%%@%%*********************%##*::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::@#*#%=:::::::::%#***********%:::::::::::::::::@%%%%%%%%%%%%%%%%%#=::::::::::::::-%@@%%%%%%%%%%@%%%%*********************##%+::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::@#*##::::::::::*%***********%:::::::::::::::::#%%%%%%%%%%%%%%%%@::::::::::::::::#@%%##%@%%%%%#%%%%%**********************%%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::@#*%=:::::::::::##**********%=::::::::::::::::*%%%%%%%%%%%%%%%%@:::::::::::::+*@@@%%**%%%%%@%%%%%%#**********************#@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::@##%::::::::::::=%**********#*::::::::::::::::*%%%%%%%%%%%%%%%@#::::::::+*@@%@%%%@%#**#%%%%%%%%%%#************************%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::####:::::::::::::=#*********#@::::::::::::::::+%%%%%%%%%%%%%@@=:::::=*@@%%%#####%@#****#%%%%%%%%%*************************#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::*%#+::::::::::::::+##********%*::::::::::::::::@%%%%%%%%%%@@*::::+#@%%##########@%******#@%%%%#*#****************#********#@::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::=%#+:::::::::::::::##********#%::::::::::::::::@%%%%%%%%@@#:::+#%%##############@#******%#*#*#**#****************@#********%::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::#%*::::::::::::::::##*******#%#:::::::::::::::*%%%%%%@@*--+#%%%###############%%******%%*#**##*#***************#%#********#+:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::#@:::::::::::::::::=##******#%#::::::::::::::=@@@@#*=-*@%%###################%******%%*%***##+#***************%%#*********#:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::=##:::::::::::::::::=%#******#%%***+:::::::::::::::=#%%######################%*****%%*#****##+#**************#%%#*********%:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::+:::::::::::::::::::+%#######%@@#=:::::::::::::+#%########################%#****%%*#****#*#+#**************%%%#*********%=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::=++++++*=:::::::::::::=*%%##########################%****###*#****#*#+***************%%%%*********#*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::=#%#############################%***###+#*****##****************%%%%%**********%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::*@%##############################%#****#+#*******#***************#%%%%%**********%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::*%%################################%#***%********#*%***************%%%%%%**********#::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::=+#%##################################%%**%*+*********%+*************#%%%%%%**********#+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::=+%%######################################+##+********+#%+#***********#%%%%%%%***********+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::=#%########################################+#%+*********+##+#**********#%%%%%%%%***********%:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::*@%#########################################+#%*+*********+%#+#*********%%%%%%%%%%#**********%:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::=#%##########################################+*%#=#********+*%#+#********%%%%%%%%%%%#**********#+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::=#%%##########################################*+##+=+#*******+#%*********#+==+**#%%%%%#**********#+::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::#@%###########################################*+##**-.-*#*****+%#+******#%=......:=*#%%#************::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::=*%%%############################################+#%#+*:..:-+*##+*%#+#***#%@#:.........:+%#***********%::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::*@%##############################################+*%#+#*......:-*=#%#+#*++#@%+............:************#::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::*%%###############################################++%%*+@+.......:+*#%#+-...*@%:.............+***********#+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::=@%#################################################=#%#+#*=.......=+#%%*+:...*@*..............+************+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::=#@%################################################%=*##+**#-.......++#%%++:...#@-..............+************+:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::*@%################################################%@++#%#+#-%-......-+*#%#=+...:%*...............+************%:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::=#%%################################################%%#-#%%+#=:%:......+=#%%*==...-%-...............+************#:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::#%##################################################%#@##@@#+%::%:.....-+*#%%++-...+*................+************#=::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::=%%%#################################################@#-@+#@@#%-::%:.....+=##%#=*:...*=................=*************+::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::=%###################################################%#::*+*@**#:::%:....:++%%%%**...:*:................=*************+::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::#%##################################################%%=:::=#+**#::::#:....+##*-+#*=...:=.................=*************%::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::#%###################################################%=::::=@#=%*::::#:...:#++*:#=*....::.................=*************#::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::=#%%%%%%%%%##########################################%@=::::=%+--=#=:::#:....=*=+#+*-....-..................+*************#=:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::=%##***++++++*#%%######################################%=:::::#*----+%:::#:.....-*+=+*....::..................+**************+:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::=%==---=====---==%%###################################%@=::::::@=++=--#=::#:......=*==*-...:...................+**************#:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::=#===============*%###################################%@=:::::::@=*=*+-*#::#:.....-*==-=+..:-...................+**************%:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::=%=-======--======#####################################%=::::::::#*+*=*+%@::#:.....*+==--+-.::...................***************#:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::*+-===+###+-===-=#####################################%=::::::::::#%%#%%=:::%:....=*+#*=-=*.-....................***************#+::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::*+--==##+-@%=====*%###################################%=::::::::::::=**+:::::%:....+++**=-++:-...................:#**************#*::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::%+=--=##::=%#=--=*%###################################@*::::::::::::::::::::::%:....++**=#*+:::...................-%**************#*::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:#*----+#::=@#*=--+####################################%#:::::::::::::::::::::::%-....-**#**=:.-....................*%**************#*::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................=%=---=#@*@%##====####################################%#::::::::::::::::::::::::*-......:::....-...................-%#**************#*::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................#+=====#@##**=-==*###################################%#:::::::::::::::::::::::::+=............::...................*@#***************@::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +................................-#=====-+@***=--=+%##################################%@=:::::::::::::::::::::::::*+............-:..................-%*****************@::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +................................@*======**#==---=####################################@*::::::::::::::::::::::::::**............=...................**%****************%::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +...............................-%=======#=#===--*%#%%%%%%%%%%%%%%%%%%%%#############%@:::::::::::::::::::::::::::+#:..........:-..................-%-%****************%::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +...............................##-=====*+*+-===+%@@@@@#*****+++++*****@@%@%%########@=::::::::::::::::::::::::::::%:..........=:..................**:#****************#::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +...............................#%******%#@####%#=::::::::::::::::::::::::+*++#%####%*:::::::::::::::::::::::::::::@-..........=:.................=+::#****************%=:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..............................-#*=--+--=*#:::::::::::::::::::::::::::::::::::::=#%%@::::::::::::::::::::::::::::::%=..........=.................:#::+#****************#*:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.............................-%+:...-++=+#::::::::::::::::::::::::::::::::::::::::*#::::::::::::::::::::::::::::::#=.........:+.................+=::+*****************#*:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +............................-%=:........:%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%-.........:-................-*:::%*****************#*:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +...........................-%--+:.......-%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#*..........:=...............:#::::#*****************#*:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................-%=++:.......:*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%:..........:=...............+=:::=#*******************:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................%+++........:*#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#=............=..............:#::::+********************:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................-#+%-...=-..:++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**:............=:.............:#::::*********************:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................+#%*...=+:.:*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%-.............=-:.............*::::%*******************+:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................-@%+::=+==-#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++..............-=..............*+::+#********************:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +...........................-%%%%#%##=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#-.............:-+..............+*::*#*******************@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +............................-++++*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++--:............=%:............-+%::##*******************@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#-:-=:..........:#@=..........:=-:#::%********************@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*-..:--:........-%=*........:--:..*::%********************@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::**+-...:==-:.....**:*:.....:-=:....*++%********************@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::==-++=:..::-----:-%::++:::---:....:=***#********##**********@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:.-++=:.....::-=%*:::%+==-:....:=+++%*#*****##*+*#*********@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+=...:=++=-:.....=#::::#-......:=+++-:%@#**##*+===+#*********@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:.....-=+++=-:::#=::::*+...:-=+++=:..#@%#*+======+#*********@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+=.......:-=+++++*+:::::=%===++++=:....#*+=-=--====+#*********@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:..........::-=+%:::::::@#+++=-:......*===-==++===**********#@:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+...............**:::::::*#-::........-*==--*%##+==**********%#:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=:..............=*:::::::::#:..........=+---+#%*#+==#********%#::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=..............:*::::::::::#=..........*=--=%:*##+==#*******%#:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+.............:++::::::::::+*:........:*==-+#:%*#=-+#*****#%=::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+-.............:*::::::::::::%-........-*===+#*%#*--*#****##=:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#..............+=::::::::::::#=........+=====%@%*=-=#***#%=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*.............-%:::::::::::::+*.......:*====--%#===+#*#@#=::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*=.............**::::::::::::::#:......-#====--**=-=*@@*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%:............-%=::::::::::::::%=......+*=====-**+=+@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#............:**:::::::::::::::*+......*=====-=#%#%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*............=%::::::::::::::::=#:.....++====+*#%%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*=...........:#*:::::::::::::::::%-.....:+%#++=::%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@-...........=#=:::::::::::::::::#+.....-+=:....=#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%:..........:#+::::::::::::::::::+#:...:+:......*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#*...........=#::::::::::::::::::::%-...+:::....-%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@#..........:%=::::::::::::::::::::@=..:+:+:....+*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@*:::::.....-@:::::::::::::::::::::@=..-=-#..-:-#=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%%####**=:.-#@::::::::::::::::::::=@=..-=+#:=#=#%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%#*%%@::::::::::::::::::::*@*==**#%*%%*@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%@::::::::::::::::::::+@%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%@*::::::::::::::::::::*%%%%%%%%%%%@#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%@=::::::::::::::::::::*@%%%%%%%%%%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#%%%%%%%%%%%@#:::::::::::::::::::::*@%%%%%%%@#=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@@@%%%%@@#=::::::::::::::::::::::=@%%%%@@#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.....................................................................................................:=++++%+=:........................-#@@#+=:.......................................................................................................... +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::==::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%%*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................-------- +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%==%#+-=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=**@@#==-=#@@@@@@#***+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...................................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*@@@@@@*===--=*%%%%%%%%%%%%@@***+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::+*@@@@%%%%%+--=*+-==+%%%%%%%%%%%%%%%%@%@@**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::::::::=**@@@%%%%%%%%#=-=-*##===-+%%%%%%%%%%%%%%%%%%%%%@@@#*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................::::::::::::::::::::::::::::::::::::::::::::::+*@@%%%%%%%%%%%%#=-===#%#*-==-+%%%%%%%%%%%%%%%%%%%%%%%%%%%@*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.................................:::::::::::::::::::::::::::::::::::::::::::+#@@%%%%%%%%%%%%%%#=-====##=+-====+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::=*@@%%%%%%%%%%%%%%%%#=-====+%*---=====+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+:::=@+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::=#@@%%%%%%%%%%%%%%%%%#=-=====+#*---====--+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*@@-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%%%%%%%%%#=-=======#*---=======+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@#+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%========-=##+=--=======*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%@%%%@@*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%+=========-*###*=-=======*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%@@@=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%*-=======--==+#%#+--======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%#-======-=*++=*#%#+======+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%#======-=##%%*=#%%#*=====*%%%%%%%%%%%%%%%%%%%#****#%%%%%@@%%%@@%%%%%@::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%=-===-=*%#*%*-*%#*======#%%%%%%%%%%%%%%%%%%#******%%%%@@@@@@%%%#%%@@::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%+===***##+=#==##*+======%%%%%%%%%%%%%%%%%%%*******%%%%@@%%%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%*====*#%#+===+#*+#=====+%%%%%%%%%%%%%###%%%*******%%%@@%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%#=====*#%#===#####====-*%%%%%%%%%%%%*****#%******#%%@@%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%#=-====+#%*=*#%%#+===-=#%%%%%%%%%%%%******#*+++**%%%@%%##%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%+-===--+##*#%#*+-===-=%%%%%%%%%%%%#*******+--+*#%%@@@%**@%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%*-=====-+%##*+=--====+%%%%%%%%%%%%%*+**+===::+*#**#@%*+*%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::+@%%%%%%%%%%%%%%%%%%%*--====-=#%*=========#%%%%%%%%%%%%%%***=---:---=***#%**%@%%%%%%%#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%#=-====--*%*=========%%%%%%%%%%%%%%%%##*=-:::::=***#%+*###%%%%%@+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%%%%%%%%%=======-*#+-=======+%%%%%%%%%%%%%%%###+-:::-=++***##****#%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@+======-+#=-=======*@%%%%%%%%%%%%#****=:--:-#*****%#****%@%%%%@-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::=*#@@%%%%%%%%%%%%%%%%@@*======-=#=========%%%%%%%%%%%%@%*****+=++--*####%%******%@@@@@@#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::=*@@@@@@@%@@@@@@@@@%%%%%%@%#=-======#========+%%%%%%%%%%%%@#*+*****#*++**#@@@%******#@@@@%%%@@*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::=*@@%%%%%%%%%%%%%%%%%@@@@@@%@%%=-=====-*=======-*@%%%%%%%%%@@@%*****#%%******#@@#***%#*%@@@%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*-------=-----===%@@@@@@%%%%%%%%%#*#%%%%******#@@#*#%%%%%%%%%%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::=*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**++++++++=+===+%%%%%%%%%%%%%%%%%%%%%%%#*****%%%%%%%%%%%%%%%%%%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::=@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::=**@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::+*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::+*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*%=::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::=@#**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**++++*#::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::*%+++++#**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####***#*++++++++#=:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::#*++++*#++++++**####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####***++++++++*#++++++++*#:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%*++++#*+++++++++++*#***####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%##****++++++++++++++++**++++++++%:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%++++**+++++++++++++#++++****+*+***********########++#######**++++*#++++++++++++++**+++++++*++++++++%:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%++++#*+++==++++++++#++++**%*+*+++++++++++++++++++*-:+%#**+++++++++#+++++++++==+++*#+++++++**+++++++%:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%+++*#+++=--++++++++#+++++**=*#*++++++++++++++++++*=-=+*+++++++++++#+++++++++=-=++*#++++++++**++++++%:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::#+++#*+++=-=++=+++++#+++++*=:-*+++++++++++++++++++*+-:-+*++++++++++#+++++==++--=+++#+++++++++**+++++%:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::#+++#++++=-=+==+++++#*+++**-:-+++++++++++++++++++++#-::-+*+++++++++#+++++-=++--=+++#++++++++++#*+++*@:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%++**++++==+++=+++++**+++#-:::++++++++++++++**+++++*=:::-=**+++++++#+++++=-++=-=+++#++++++++++*#*++#*:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%++#*++++++++++++++++*++*=::::=+++++++++++++**+++++++-::::=**++++++#+++++++++===+++#*++++++++++*#*+#=:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%++#+++++++++++++++++#+*+...::-+++++++++++++***+++++*=--::--+***++*#+++++++++++++++#*+++++++++++*#*%::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::%+**+++++++++++++++++#+#:......+++++++++++++**##+++++*-:::::::=*###*+++++++++++++++**+++++++++++++#@-:::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::#*#*+++++++++++++++++*#+.......-++++++++++++**#%+++++*+.........::+*+++++++++++++++**++++++++++++++#%*::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::+%#++++++++++++++++++*#:.......:+++++++++++++*#%#+++++#+:.........-*++++++++++++++++#+++++++++++++++*#%#*+::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::=*%##++#%++++++++++++++++.........-++++++++++++***=**++++**+:.......=+++++++++++++++++#+++++++++++++++++**%@::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::+*#%#***+*#%*+++++++++++++++.........:++++++++++++**#::+##**##+:.....:.++++++++++++++++++#++++++++++++++++++*%=::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::=#@%##*+++#*+#*#*++++++++++++++*:.........-++++++++++++*#-..:-==-:...:=+#%**+++++++++++++++++#++++++++++++++++*%#::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::+@*+++++++#++#+*#+++++++++++++*#*--::......=+++++++++++*#=.....:-+*#%@@@@@@%*++++++++++++++++#++*#*++++++++*#%#=:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::=@#++++++#+*#++#*++++++++++++#%@@@@@%#+=:..++++++++++++**..-#%@@@@@@@@%%#%#+++++++++++++++++#+++#%%######%%#*@-:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::=#%*++++#+#*++*#++++++++++++*%@@@@@@@@@@%=:++++++++++++*:.*@@@@@@%#+=:.:*++++++++++++++++++#+++++#*****#%%*+%@-::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::*@=::::::*%%*++#*#++++#*++++++++++++*##*##%@@@@@%.:+*+++++++++*+:#@@@@@@%*+=--=#++++++++++++++++++#+++++#*++++#%%#+*%@=::::::::=+:::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::#@%+::::::*@@%#%#*++++*#+++++++++++++++:-+*%@@@@#...+*+++++++++*=#@@@@@@@@@@@@@%#+++++++++++++++++#*++++*#+++*%%%%*+%%@*::::::=@@:::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::+#+#@@@@@%@%%%%%%#######*+++++++++++**%%@@@@@@@@+....-*+++++++++##%%%@@@@@@@@@@%#+++++++++++++++++%*++++*#+++*%%#%%*#%%%@#***#%@*:::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::%+#%%%%%%%%#%*###*+++++#*+++++++++#%%%@%%%@@#+-......:=**+++++*##=:--==+*##%@%%%*+++++++++++++++*#**+++*#+++#%%%%%#*%%%%%%%%++@::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::@+#%%%%%%%%%#+*#%*++++++#*++++++++#%%%@@%#+-:..........:=*****+=:..........-#***++++++++++++++++*#**++++#+++%%%%%%%*%%%%%%%%*##::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::*#*%%%%##%%%*+*%@#+++++++##*++++++*%%%##-.................::::............:**++++++++++++++++*++*#***+++#++*%=@%%%%*#%%%#%%%#@=::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::=%+#%%#+#%%#++%@@%++++++++###*+++++**++*+.................................+*++++++++++++++++##++##***+++#*+*@:=@%%%#*%%#+#%###:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::#*+%%%%%%%*+#@@*%++++++++#*%###****+**##=..............................:+*+++++++++++++++*#@%++##***+++#++#@::=#@%%#%%%%%%#%=:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::=@*#%%%%%#+*@#=:%*++++++*##*+**#%+++=--::............................=*#*+++++++++++++++*##%#+*%**#%*+*#++#@::::*@@%#%%%%%*@::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::=@#*%%%%++#=:::@*++++++##*+++++#:....................::::::::......-##+++++++++++++++####*%*+##*#%%*+*#+*#@::::::*%#%%%%%#@::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::=@%@@@*+*#::::@*+++++*%*++++++#:................:-==========-......:+#*++++++++++*###%**#%++%*#%*#*+#*+*#@:::::::-#@@@@@@=::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::+**%++%=::::@*+++++**+++++++#=...............-+=----------=:.......:=*#******###*+*%**##+#%%%*+**+#++*#%::::::::#%-:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::=#+#*:::::@#++++**+++++++++#:..............-=------------=.........+#*####**++++##**%**@@@#++***#+*##%::::::::+%+:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::%+*#=:::::*#+++**++++++++++*+..............:=------------=:.......-#++++++++++++%##%%#%*=*#++###++*#*%:::::::::%#:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::*#+#+::::::+#+++*+++++++++++*%=..............=-------------=......:#*++++++++**++%%*@@#=::*#++#%*++*#*#:::::::::#%:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::%+*#:::::::*#++*+++++*++++++#%#=.............==------------=......**+++++++++#*+*@-+@*::::*#++**+++#**#=::::::::+@=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::*#*#=:::::::*#+**+++++*++++++####*:...........:+------------=:....+*+++++++++##++%#::::::::*#+++++++#**#+:::::::::%*::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::%***::::::::*#**+++++**+++++*%**###+:..........-=-----------+:...=#+++******##*+*@=::::::::=#++++++*#**#+:::::::::%#::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::=#*#+::::::::*%*++++++**+++++##***#%##=:........:==----------=...-#++*%%%#%####++%#::::::::::%++++++*#***%:::::::::%%::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::+#*#:::::::::*%++++++**++++++%#***#@:=*#+:........=+-:----::::..-#**%#*****#%#++*@=::::::::::%++++++*****#=::::::::%%=:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::*##+:::::::::#*+++++***+++++*#%#**#@::::+**=:......::::::::...:+%#%#********#%**%#:::::::::::+*+++++#****##::::::::@%*:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::+%*#=::::::::=#+++++****+++++#+=@%#%@::::::=*%*=:...........:-+%@%#************#%#::::::::::::+#+++++#*****%=:::::::@%+:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::+#*%::::::::=%+++++*****+++++%:::+@@@:::::::*@%%%#++-:...::+##%%#***************%#:::::::::::::%++++*#*****##:::::::@##:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::###+::::::::+*++++##****+++++%:::::++:::::#@%%%%%%%%@%#*+*#####*****************#@:::::::::::::#*+++*#******%=::::::@#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::%##=::::::::#++++#%*****++++**:::::::::::+@%%%%%%%%%%%*###*##********************%+::::::::::::*#+++*#******#%::::::@#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::=#*%::::::::+*+++#@#*****++++#+::::::::::=#%%%%%%%%%%%%#**##**********************%#::::::::::::=%*++###******##:::::%#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::*###::::::::#+++*%%*******+++%=:::::::::*%%#%%%%%%%%%%%%%##***********************#@=::::::::::::##++*********#%=::::%#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::+##+:::::::+*++*%%#*******++*%::::::::=#%**#%%%%%%%%%%%%%**************************%*::::::::::::=%*+#*********#%=::=%#%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::+##=:::::::%++*##%#********+*%=:::::=#%#****%%%%%%%%%%%#***************************#@:::::::::::::*#+#**********#%=:###@:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::+##:::::::##++###%#**********%*::::#@#*******%%%%@@@@#******************************%+:::::::::::::#%#**********##%*%###:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::+##::::::#@*+*###%*****######@*::=@%#*******#%@%%%%%%#******************************##::::::::::::::@%************#%###*:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::*##:::::#%%*+####%*###%%%@@@@@*:#@%%#****##%%%%%%%%%%%**************************#****%::::::::::::::@%*************#**%=:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::*%#+:::*%#%*#####%#%%####*:::=*#%-::-*%%%%%%%%%#%%%%%%#************************#%****#*:::::::::::::*%***************#@::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::=%#+::=%#*%#%#**#%%##***%=::=#%##....:*%%%%%%%%%%%%%%%%************************%#*****%:::::::::::::*%#**************#%#:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::%#%:=%#**%%#***##*****#%==#%#***.....:*%%%%%%%%%%%%%%%%**********************##******#=::::::::::::+%#***************#%@=:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::*%##%#***#%******##%%%%@@@#****+......:#%%%%%%%%%%%%%%%**********************%********%:::::::::::::%#****************###:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::#%%#*****#***##%%@%%%%%%#****#+.......=%%%%%%%%%%%%%%%#********************##********#+::::::::::::%#*****************#%@=:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::*@##******##%%%%%%%%%%%%%****#+........#%%%%%%%%%%%%%%%*******************##**********#::::::::::::*#*******************%#:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::@##**#####%@%%%%%%%%%%%%%#****+........=%%%%%%%%%%%%%%%#*****************#%***********%*:::::::::::=%*******************#%#::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::###*#%%#*=+*%%%%%%%%%%%%%%%**##+........-%%%%%%%%%%%%%%%%*****************%*************%::::::::::::@#******************##%=:::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::######-:.....-%%%%%%%%%%%%%%**#:..:::....:#%%%%%%%%%%%%%%%****************#**************%*:::::::::::@#*****##************##@=::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::#%#*##-.......:*%%%%%%%%%%%%@*#*...........*%%%%%%%%%%%%%%%#**************##***************%:::::::::::*%*****##**************##::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::+%***#*.........=%%%%%%%%%%%%%#*#*:.........=%%%%%%%%%%%%%%%#*************#%****************%*::::::::::+%#****#%***************%=:::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::*%#****#=.....-===#%%%%%%%%%%%%%**##*=-:.....-%%%%%%%%%%%%%%%%************#%@#****************@=::::::::::%#****#@#**************##:::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::=%#*****##=:...=-::*%%%%%%%%%%%%%*****#%%#*+-:=%%%%%%%%%%%%%%%%#***********%#@#****************#%=:::::::::%#****#@%***************%*::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::=%#*******#%+:..-=..=%%%%%%%%%%%%%******#%%%%%%%%%%%%%%%%%%%%%%%#**********%%@%*******************%*::::::::%#****#@@#**************#%::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::##*********###-:.==:-#%%%%%%%%%%%%******#%%%%%%%%%%%%%%%%%%%%%%%%*********%%%#*********************%@=::::::@#****##*#***************%+:::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::+##*********#*#%#=-===*%%%%%%%%%%%%#*****#%%%%%%%%%%%%%%%%%%%%%%%%********##*************************%@#:::::@#****#++%***************##:::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::=%##************###*=--+%%%%%%%%%%%%%*****#%%%%%%%%%%%%%%%%%%%%%%%%*******##***************************#@+::::@#****%+:%#***************%+::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::=%#*****************#%#+*%%%%%%%%%%%%%*****#%%%%%%%%%%%%%%%%%%%%%%%%******##****#%@@%#*******************%*::::@#***#%::%#***************##::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::##*#****##***********%%%%%%%%%%%%%%%%%*****%%%%%%%%%%%%%%%%%%%%%%%%%#****##****%@%#*%%*******************%*::::%#***#%::*##**************#%::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::+%*****##%#***********%%%%@%%%%%%%%%%#%*****%%%%%%%%%%%%%%%%%%%%%%%%%#***##****%@#***#@*******************%*::::%#***##::=%****************%=:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::*#****#%@%#***********#%%%%%%%%%%%%%%%%*****%%%%%%%%%%%%%%%%%%%%%%%%%#**%@@@@%%@#***#%%*******************#@:::+%#***#+:::%#***************#+:::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::##****#%@%*************#%%%%%%%%%%%%%%%%****#@%%%%%%%%%@%%%%%%%%%%%%%%#*#@@#**%@@%%%@@%*********************%#::*%****%::::##***************#*:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::=%#***#%#@%*************#%%%%%%%%%%%%%%%%***%@%%%%%%%%%%@%%%%%%%%%%%%%#*##@%**#@%**####***********************%*:@##**##::::*#***************#%:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::##****%#-@#*************#%%%%%%%%%%%%%%%%*#%+@%%%%%%%%%%@%%%%%%%%%%%%##%**#@%%@%******************************#@*@#***%=::::=#****************%:::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::=#****##::%#*************#%%%%%%%%%%%%%%%@%@=:@%%%%%%%%%%%%%%%%%%%%%%###@#***###********************************#@%#**##::::::%****************%:::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::##***##::=%#*************#%%%%%%%%%%%%%%%@#=::@%%%%%%%%%%%%%%%%%%%%%%%#:*%***********#***************************%####%+::::::%#***************%:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::*%***#%:::*%#*************#%%%%%%%%%%%%%%%@+:::@%%%%%%%%%@%%%%%%%%%@@@=:::@#******#%@%%%%**************************##*%@:::::::+#******#*******#%:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::%#**#%=:::=%**************#%%%%%%%%%%%%%%@#::::#@%%%%%%%@%%%%%%%%%@@*:::::*%*****#@%%%%%%%#************************###@=:::::::+#**************##:::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::=%***%#::::+%***************#%%%%%%%%%%%%@#:::::=@%%%%%%%@%%%%%%%%@#:::::::=@#***#@%%%%%%%%%*************************%@=::::::::+#**************#*:::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::*#**#%:::::=%#**************#%%%%%%%%%%%%#=::::::=@%%@%%@%%%%%%%@#=:::::::::*%***%%%%*+#%%%%%*************************%=:::::::::#*************#%=:::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::@#**%*::::::%#**************#%%%%%%%%%%%@:::::::::=@%%@@%%%%%%%@*:::::::::::=@**#%%%#===%%%%%*************************##:::::::::#*************##::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::=%**#@:::::::@#**************#%%%%%%%%%@#=::::::::::=#@%%#%%%@@*=:::::::::::=@#**#%#%#++#%%%%%**************************%*::::::::%************#%=::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::*%**%=:::::::@#**************#%%%@%%%%@#=:::::::::::::#@%%%@@*=::::::::::::=##***#@%%%%%%%#%%%***************#**********#%::::::::%**********#*##:::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::+%*#@::::::::*#**************#%%%@%%%%*::::::::::::::::*@@@#:::::::::::::::@%*****%%%%%%%%%%%#***************%***********#*:::::::%#**********#%=:::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::+%*##::::::::+%**************#%@%%%%#=:::::::::::::::::::::::::::::::::::::#%******#@%%%%%%%%****************@************%:::::::%********#*#%=::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::=%*%*:::::::::%#*************#@%@%@@::::::::::::::::::::::::::::::::::::::::#%%#****%%#%%%#*#****************@#***********#*:::::=%********##%=:::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::@#%*:::::::::##*************#@=@#+::::::::::::::::::::::::::::::::::::::::#@@%****#%#+#*#**#***************#@#************%:::::*#*******##%=::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::*@%*:::::::::=%#************#@::::::::::::::::::::::::::::::::::::::::::=@%%@#***#%%*#**#******************#%%************#*::::%#****#*#%#::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::#@@::::::::::##************#@:::::::::::::::::::::::::::::::::::::::::#@%#%@#***###+#**#*#****************%%%*************%=::=%##***##%=:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::=@@=:::::::::=%#***********#@:::::::::::::::::::::::::::::::::::::::=@%###%%***###*****#*#****************%%%**************+::##***#%%#:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::=@+::::::::::##***********#@::::::::::::::::::::::::::::::::::::::*%%####%%***###+#***#*#****************%%%#*************%=#%**#%%#=::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::=##**********#@=::::::::::::::::::::::::::::::::::::#%#####%%%**#*#******###***************#@%%#*************#@%##%@#=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::=%#*********#%*::::::::::::::::::::::::::::::::::=%%######%%#***##+#****###***************#%%%%**************%%@@*:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::=%**********%#:::::::::::::::::::::::::::::::::*%########%%#*#*%*+******##***************%%%%%***************@=:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::=%#********#@=:::::::::::::::::::::::::::::::#%########%%%##*##+#******##***************%%%%%***************%=:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::=###******#%#::::::::::::::::::::::::::::::#%#########%%%#**#*+*****#+##**************#%%%%%#**************##:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::=*##*****#%#:::::::::::::::::::::::::::=%%##########%%%%*##=******#+#***************%%%%%%#***************%:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::=*%%%%###@@=::::::::::::::::::::::::=%############%%%#*%*+*******+%**************#%%%%%%#***************#*::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::+**++**=:::::::::::::::::::::::#%#############%%#+##+*********#+*************%%%%%%%%****************%::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%##############%%**#*+#******+*#+#***********%%%%%%%%%****************%::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#%###############%%+##+*******#=##+#*********#%%%%%%%%%%****************#+:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-%%################%**%#=#*******=##+*******#%%%%%%%%%%%%%#****************#:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%###################+#%++-+#*****=##******#%@%####%%%%%%%%#****************%:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%###################**%#+=..-*###++%**#####@*%-::::--=+*##%#****************#+::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%####################+#%*+:....:=#=*%**+=-:=#=#..........:-=******************+::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%####################**%#++.......+=#%*+....*+*+.............-*****************%::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%#####################+#%*+-......:*=#%*=...:#:+-.............:*****************#*:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=#%#####################*+##+*:......-++%#+-...-%-#:.............:******************%:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%######################+*##++.......=+*%*+:...+*=*...............+*****************%:::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%#######################+#%*+=.......*=##*+....*=*+...............=*****************%=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%#######################%%#%%**:......:*+##++...:#:+=...............=*****************#*::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%########################%+#%%##:......-**%%#=...-+:#-...............-******************+::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::*%#########################%=#%*+*.......+%##%#:...+=:#:...............:******************%::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::#%###########################=%*=*-.......-#+*+*....*:=*................:******************#=:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::#%############################=+=+=.........++*++...:#:*+.................+*****************#+:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::#%###########################%#==+*:.........=#=*=...-+:+=.................+******************#:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::#%###########################%#====*:.........**=+*=::=+:+-.................*******************%:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::#%############################%+====+=.........#=*==+*+*=:%:................:%******************#=::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::#%##############################==**==+........:#=#=*++=#::#.................+@******************#+::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::#%###############################=+#*+-*:........#=*+=**-#::*................:#@#*****************##::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::#%###############################%++#+#*#:........**=*##-=+:++................-#@#******************%::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::#%################################%@*#+%%-.........:+###-.+*:+=................**@#******************#::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::#%#################################@*#@@*%:................*=:+-...............:%=@#******************#+:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::#%#################################@*:::::%:...............:%::%:...............=@-@#*******************#:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::#%#################################%#::::::%-...............-%::#:...............**:@#*******************%:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::#%#################################%@=::::::%-...............=*::*...............:%=:@#*******************%:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::=%##################################@*:::::::*=...............+*:=*...............-@::*#*******************#=::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::=%##################################%@::::::::*+...............*=:**...............*#::*#*******************#+::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::=%###################################@=::::::::*+..............:#::**..............:%=::*#********************+::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::=@%##################################%#:::::::::**..............:%::**..............-@:::*#********************#::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::=@%###################################@=:::::::::+*:.............-%::+#:.............+*:::+#********************%::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::#@%#######*##%########################%#::::::::::*+:.............=*:::#:............:**:::*#********************%=:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::=%=========--=#%#######################@=::::::::::@+..............*+:::%:.............+*:::*#********************%*:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::%+=-====--=--=########################%#::::::::::=%:.............:%::::%:.............=#:::*#********************#+:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::##===-*%%*===-+%#######################@=::::::::::#+..............=*::::%-.............-@:::*#*********************#:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::+%====*#**@+==-*%######################%#::::::::::+#:..............#=::::*=.............:%:::*#*********************@:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::=#+====%::*%==-=########################@+::::::::::#=..............-#:::::*=.............:%:::##*********************%:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::*#====*@*#@*---+%######################%#::::::::::**...............*=:::::*+..............#:::@#*********************%:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::=%=---=+%#@#==-=########################%+::::::::::%-..............-#::::::**..............*:::@#*********************%:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::#+==--=-++*=-=-+%%%%%%%%%%%%%%%%%#######@::::::::::**...............*=::::::+*..............*:::@#*********************%+::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::=#========+*==+*%@#+**************@@@@@%%#::::::::::%-..............-#::::::::#..............*+::@#*********************%*::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::#+-======*###%@*=:::::::::::::::::::::+**=::::::::::*...............*=::::::::#:.............+*::@*****#%%#*************%*::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::=%=---=+*#*=-*#:::::::::::::::::::::::::::::::::::::+=..............-#:::::::::%:.............+*::@****##+=+#************%*::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::=%**###==+=+=-%=::::::::::::::::::::::::::::::::::::+=:.............*=:::::::::%:.............=*:+@**##+====#************%+::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::=#*##:..:--.:%=:::::::::::::::::::::::::::::::::::==:=:...........-#::::::::::%:.............=+:*@##+====--#***********%#:::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::=*:..::...=@::::::::::::::::::::::::::::::::::::+:.:=:..........*:::::::::::%:.............=+:##+=--==---#**********%#::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::=#::..=...:%=::::::::::::::::::::::::::::::::::::*:...--:.......-*:::::::::::%-..........:-=+*##=----==---#*********%#:::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::%--..-=...+#::::::::::::::::::::::::::::::::::::+*-....:==-:....+=:::::::::::#-.......::-=-.-*@*==---===--#*******#@#::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::*#--..*:.::%=::::::::::::::::::::::::::::::::::::*++=:...::-==-:-*::::::::::::++=-:::-==-:...-*@=---=+*====#******%@*:::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::@=+:.:*..=+#::::::::::::::::::::::::::::::::::::==-+++-:.....:-=#=::::::::::::+=::---::......=%%=---*@@#==+#****#%#=::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::%-*..=+.-+#=::::::::::::::::::::::::::::::::::::*-.:=+++-::....-*:::::::::::::+=..........:-=*@#=--+%-*%==*#***#@#::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::#+%:.**.+*%:::::::::::::::::::::::::::::::::::::*....-=++++=---*=:::::::::::::*+......::-=+++*@*--=#=:*%=-****%@=:::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::+%%@=-#%-*%*::::::::::::::::::::::::::::::::::::+=......:=+++++*#::::::::::::::*#======+++++=-=@+--+%:=@#--#*#@#:::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::=@@=%*%#%%@=::::::::::::::::::::::::::::::::::::%-........::---#=::::::::::::::*#+++++++=-::..-%=--+@*%@+--%%@=::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::*#:==:::=::::::::::::::::::::::::::::::::::::::#.............:*:::::::::::::::*+::::::.......-#---+#%%%=-=%#::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+.............++:::::::::::::::*+.............-*==-=*#=*-=#@:::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+-............:#::::::::::::::::*+.............++===-=*-**%*::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*:............=+::::::::::::::::*+.............*=-----*=%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*............:*=::::::::::::::::**............:*=---=**+=%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+=............-*:::::::::::::::::*+............-#===+#=:.:*::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#:............++:::::::::::::::::**............:##*#*-:...+=:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%............:#::::::::::::::::::**............:%#@%-=:...=+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*............-#::::::::::::::::::**............:%-#+:=....=+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+............*=::::::::::::::::::**............-*=#:=-...:=+:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*=...........:%:::::::::::::::::::**............=*#+.=:..-:==:::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+-...........=+:::::::::::::::::::**............+*%-:=..:=.+::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#-..........:*::::::::::::::::::::**............+%#:--..--:#::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@:..........:%::::::::::::::::::::**............#@#:=:..+:-%::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@@-..........=#::::::::::::::::::::**............#*%+#:.:#=**::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+@%*+===--:...**::::::::::::::::::::**...........:%:#@#::+%*%:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%#*-:#*::::::::::::::::::::**:::::::::..=@::*%*##@%=:::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::@%%%%%%%%%%%%#%*::::::::::::::::::::*%######%##**%@=::=*+:##::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%@=::::::::::::::::::::#@%%%%%%%%%%%%@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%@:::::::::::::::::::::@%%%%%%%%%%%%%@=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%@:::::::::::::::::::::@%%%%%%%%%%%%%@:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%%%@*:::::::::::::::::::::@%%%%%%%%%%%@@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%@=:::::::::::::::::::::#@%%%%%%%@@#=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%@@*:::::::::::::::::::::::+#@@@@@*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +..........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+#@%%%%@@@*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::................................................................ +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::=%*#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::-%+=+%=:::+*+++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::-----------------------------------------------=%*====#%@%%%%%%%%%%%%%%@@***+---------------------------------------------------------------------::::::::::::::::::::........................................... +.................................::::::-=============================================+#%*====-=*%%%%%%%%%%%%%%%%%%%@@@@##*++==============================================================::::::::::::::::::::...................................-------- +.................................::::::-==========================================+#%@@*===**====#%%%%%%%%%%%%%%%%%%%%%%@@@@##++==========================================================::::::::::::::::::::...................................++++++++ +.................................::::::-=======================================+*%@@%%*--=+##+==-=*%%%%%%%%%%%%%%%%%%%%%%%%%%@@@##++======================================================::::::::::::::::::::...................................++++++++ +.................................::::::-=====================================+#@@%%%%#=-==*%**===-=+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@#*+======*#===========================================:::::::::::::::::::::::::::::..........................++++++++ +.................................::::::-===================================+#@@%%%%%#=-===*#==--=====*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@##++=*@#===========================================:::::::::::::::::::::::::::::..........................++++++++ +.................................::::::-================================+#%@@%%%%%%%=-====*#=--=====-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#@@+===========================================:::::::::::::::::::::::::::::..........................++++++++ +.................................::::::-==============================+#@@%%%%%%%%%+-====-*#+--=======-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#+=========================================:::::::::::::::::::::::::::::..........................++++++++ +.................................::::::-============================+*@@%%%%%%%%%%*-======+#*=-=========+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@@%#+======================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================*@@%%%%%%%%%%%#=========##*+==========#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%@@%*+===================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%#==========++*##*=-=====-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%@@#+=================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%=========-====*%%*=======#%%%%%%%%%%%%%%%%%%%%%%#**#%%%%%@%%%@@@%%%%%%%@%*================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%========-=##*+=#%%#+=====%%%%%%%%%%%%%%%%%%%%%%#****%%%%@@@@%%%%%%%%%%%%%@#===============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%*=====-==###%*=*%#+======%%%%%%%%%%%%%%%%%%%%%#*****#%%%@%%%%%%%%%%%%%%%%%@+==============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%#=======+%*=#+=*%*+====-=%%%%%%%%%%%%%%%%%%%%%******#%%@@%%%%%%%%%%%%%%%%%@+==============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%%+====*###*=+==##+#+==--+%%%%%%%%%%%%%%%%%%%%#*******%%@%%%%%%%%%%%%%%%%%%@+==============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%%#=====+###+==*####===--*%%%%%%%%%%%%%%%@%%%%#**++**#@@@%%%%%%%%%%%%%%%%%%#===============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================%%%%%%%%%%%%%%%======+#%#==#%%#*====-#%%%%%%%%%%%%%%#***#%%*+--+*%@%%%%%%%%%%%%%%%%%%%@*===============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#%%%%%%%%%%%%%%+-====-=*%**###+=====-%%%%%%%%%%%%%%#******%#+::+##****%%%@%%%%%%%%%%%%@+===============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#%%%%%%%%%%%%%%#========*%%#*=--=====%%%%%%%%%%%%%%*********=:-++++**+*@##%%%%%%%%%%%@#================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#%%%%%%%%%%%%%%%=-=====-=#%+=========%%%%%%%%%%%%%%#+****=-=-:----=**+*%**%%%%%%%%%%%@*================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#@%%%%%%%%%%%%%%*-=====--##+========+%%%%%%%%%%%%%%%*+**+-:::::---+***##**#%%%%%%%%%%%=================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================*@%%%%%%%%%%%%%%%=-=====-+#+========*@%%%%%%%%%%%%%%%****+--:::-+***#%#***#%#%%%%%%%@#=================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================+@%%%%%%%%%%%%%%%+-=======#=========%@@@%%%%@@@@%%%@@%###*+-::::=*#%%#*******#%%%%%%@+=================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================%%%%%%%%%%%%%%%%%=-======#=========%%%%%%%%%%%%%%%%%@@%##+:-==:-+*#%#*****##@%%%%%@#==================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================#@%%%%@@@@@@@@@%@+-======*=======-+@%%%%%%%%%%%%%%%@%#*+*+==*+=-+**%#*****#@@@@%%%@*+=================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================#@@@@@@@@@%%%%%%%#-------+=----==-*@@%%@@@%%%%%%@@@@#*****+****+**+#****#**#@%@@@@@@@%#*+=============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================++##@@%%%%%%%%%%%%%@%=-==========+***%%%%%%%%%%%%%%%%%@*******##******#%*#%@#*#@@@@%@%%%%%@@#+===========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================*#@@@@@@@@@@@@@@@@@@@%%##########%%%%%%%%%%%%%%%%%%%%%%%%#*****#%%#****#%%%%%%%#%%%%%%%%%%%%%%%@#+=========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-====================+*%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==================+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-================+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%=====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============+#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%=====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%###%##%%#%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#####+======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######******++++#+++++++++++++++++++#********************#*++++++*%#===========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================+##@@@@@%%%%%%%%%%%%%%%####*****++++++++++++++++++%#++++++++*+++++++++#*+++++++++++++++++++*#+++++++*%*==========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-====================+++*%%***%#*****++++++++++++*++++++++++++++++++#%*++++*###+++++++++**++++++++++++++++++++#++++++++#%==========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================#*++**++++++++++++++++++*++++++++++++++++++*****##**+++++++++++*#++++++++++++++++++++**++++++++%*=========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================**+*#+++++++++++++++++++#+++++++++++++++++++*=*#*++++++++++++++*#+++++++++=-=+++++++++#++++++++*@+========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================+%++#*++++++++++++#++++++#*++++++++++++++++++*=-**+++++++++++++++#+++++==++--=+++++++++**++++++++%+========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================+%+*#+++++++++++++#+++++*=++++++++++++++++++++*--+*++++++++++++++#+++++==++--=++++++++++*++++++++##========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================+#+#++++=--+++++++#++*##%***++++++++++++++++++*=::=**++++++++++++#+++++==++--=++++++++++**+++++++*%========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================+#**++++=-=+=+++++#+++***=+*++++++++++++++++++++::--+**++++++++++#+++++==++=-=+++++++++++*+++++++*%+=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================*##+++++--=+==++++#++++#=::=+++++++++++++++++++*=:::-=****+++++++#++++++++++=++++*+++++++**+++++++%+=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================*#*+++++--=+==++++#++++*-::-++++++++++++++*#+++++-::----=**#*****#+++++++++++++++#++++++++*+++++++##=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================+%++++++==++++++++#+++*=::::=++++++++++++++%*+++*=-:::::..::-=+**#+++++++++++++++#*+++++++**++++++*#=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================*#++++++++++++++++#*+**:.::::=+++++++++++++##*+++*-.............-*+++++++++++++++*#++++++++**+++++**=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================#*++++++++++++++++#*+#-......:=++++++++++++*+**+++*-............-*+++++++++++++++*#+++++++++*++++++#=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-======================*#+++++++++++++++++***+.........=+++++++++++*+:+***##-...........=+++++++++++++++++%+++++++++**+++++%+======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-======================%*+++++++++++++++++*##:.........:=+++++++++++*:.:-==-:.......::..++++++++++++++++++%++++++++++**++++#*======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================*%++++%*+++++++++++++%+............=++++++++++*=.........:-=+*#*..*+++++++++++++++++%+++++++++++*+**+*#============+=========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================##+++#%*+++++++++++++#:.............-++++++++++*.....:==*#####%@=-*+++++++++++++++++%+++++++++++**#%+*#*=========+%@#========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-====================*%+++*#**+++++++++++++#:..............:+++++++++*=.-*###*+++#####=+*+++++++++++++++++%++++++++++++*%%*+#@%#*++++*#@%@*========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================+*%@#+++#**#+++++++++++++*=................=++++++++#+%#++*##*=-:....*++++++++++++++++++#+++++++++++++#%#+*%%@@@@@@@%++@+========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========+++++#@%##*++##+*#+++++++++++++++.................:+*+++++*@@%%@@@#*++=====*+++++++++++++++++*#++++++++++++++#@*+#%%%%%%%%%**#=========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========+@@@@%%*++#+++#+++#+++++++++++++*%#####***++=-:......:=*****%@@@@@@@@@@@@@@@*+++++++++++++++++*#+++++++++++++++##+*%%%%%%%%%+%*=========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========*@*++++++#++#*+++#*++++++++++++*@%%##%%%@@@@@*.........:-==*@@@@@@@@@@@@@@@#+++++++++++++++++*#++++++++++++++++#**%%%%#%%%#*%==========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============#%*++++**++%++++*#++++++++++++*%%**+++*#@@@@%:.............:::--==++**##@%#+++++++++++++++++*%#++++++++++++++++%#%%%%*#%%*%*==========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============+%%*+++#*+#*+++++#*+++++++++++++*..::+%@@@@%+:.........................-#+++++++++++++++++++#*#%#*+++++++++++*#%%#%%%%%%*#%===========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============*@%#*#*+%++++++*#+++++++++++++#+*%@@@@@%*-...........................**+++++++++++++++++++#++###########%%@%*%%*%%%%@@%%+===========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============+#@@@**#+++++++#*+++++++++++#%@@@@@@#+-............................=*++++++++++++++++++++#++*#+++****#%#*+===+%#@@@@@%*============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========##**##@@%@*#%##***###%*++++++++++#%@@@%*=:.............................-*++++++++++++++++++++*#+++#*++++++##=======###++++==============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=========+@##%@%%%%%#%%%%%%#****#*++++++++++%%%=:...............................-*++++++++++++++++*%+++**+++#*++++++%#=======+%%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========%#=#%%%%%%@%%%%%*++++++##*++++++++***-....................:.........:=*+++++++++++++++++#@*++#*+++*#+++++*@#========#%%=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========*%+*%%%%*+@%%%%%*+#+++*###*++++++++*#+.............:======+=.......:*#+++++++++++++++++##%*++#++++*#+++++*@#========+%%*================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========#%+#%%%*#@%%%%%+*#+++#*++*######**+-:..........:-===------=-.......:+*++++++++++++++*%#*#*+*#+++++%+++++*%#=========#%%================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========+%#+*%%%%%%%%%%+*%++#*+++++*%***:.............-+=----------+:........=**++++++++++*#%##*#*+**+++++#+++++##%=========+%%*===============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============+%#=+#%%%%@@%%+#@#*#+++++*#*+*+..............-=-----------==.........:+****+****##*##**#*+#*+++++#++++*##@+=========##%===============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============+%%#*#@@@#+##+##%#*++++*#*++*+..............-=------------+:..........+#######**++%#**#**%*+++++#++++*##%+=========*%%*==============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============*#@@%*+==##+%###++*##%*+++*#..............:=------------=:.........:#++++++++++*%#**%####*+++*#++++*##%*=========+%#%+=============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================++=====#*+%*@**#%%%*+++++#-..............-=-----------=:.........+*++++++++*+###**%%%*#%+++#*++++#**%#==========##%#=============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================#*+%*%#%*#%*++++++**...............==----------=.........-#++++++++**+##***%%##@@*++#*++++#*##%==========*%#%*============:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================**+@#@@#**#++++++++%+..............:+=-------:::........:*++++++++*%*+%#***###@#%*+*#++++*#*##%+=========+%##%+===========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================***@@@**##+++++++++*%+..............:::::::::...........+*++++++++##+#%#####%@*=##+##++++*###*##==========###%#===========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================***##*=*%*+++++++++*#@*:...............................=*++++++++*##+%%@@%@%#+==##*@%++++*****#%+=========*%##@+==========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================*+*#==+%#+++++++++**####=.............................-#++++++++***+*@*++++=====#%%*%++++*****###=========+%*#%#==========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================*+*#==#%+++++++++***%#=+##=..........................-#*++++**#%%#*+%#==========#%*+%++++#*****##*========+@#*#@*=========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================*+*#=*@*+++*++++****@#===+##=:......................:**++*#%%##*#%%%@*==============**+++#*******%*=======+@#**%#=========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================*+*#=%#++++*++++****@%=====+#%*=:..................:######********#@*===============**+++#********##+======#%*##@+========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================***#*%*+++**+++*****%%*======+*#%#=-:............:-#%#*************%%+==============#*++*#*********##*=====#%*##%#========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================***#%#++++**+++****#%##+========+*##%#*+=----=++*##*****************%#==============+#++*#**********####+==#%**##%========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================***%%+++*#**++*****#%#%#============++##@@@@@%##********************#@*=============+%++*#************##%##%@#*##@+=======:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================#**@#++*@%***+*****#%*#%*===========++#@@%%#*************************#%+=============#*+*#***************##%%#**#@+=======:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================##*%*+*@@#***+*****#%#*#%========+*#@@%##*****************************%%=============##+*#******************#***#%%+======:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================*#*%+*%@%#*********#%#**%*===+*#%@@@##*********************************%*============+%**#**********************##%%#+====:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================+#**+#%#%#*****#****%#**#%+*#@@@@%%@***********************************#%+============%#*#************************##%%*===:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================+%#*#@+#%#**********%####%@@@%%%%%%%%***********************************%%============#%##***************************#%%+=:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================#%*%*=*%#********#%@%%%%%%%%%%%%%%%%#***********************************%*===========+@##****************************#%@*:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================#@%%+=#%*****####%%%%%%%%%%%%%%%%%%%%***********************************#%+===========*@%******************************#@*::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================+@@@++*@###*###**%%%%%%%%%%%%%%%%%%%%#***********************************#%============*@#******************************#%#:::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-======================+###@%@#@@@@@%#%-:..:=*#%%%%%%%%%%%%%%%%%************************************%+============*##*#****************************#%#::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============+++=====*@@@@@@@%%%%%%@%%-......:=%%%%%%%%%%%%%%%%************************************##=============+##******************************##%=::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============#@@@#*+==%@%%%%%%%%%%%%%%%-........+%%%%%%%%%%%%%%%%************************************#*=============+##*******************************#%=:::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========+@*--*%@##@%%%%%%%%%%%%%%%#+........:#%%%%%%%%%%%%%%%*************************#%%%********%+=============+%%#******************************#%=::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============%+...:-+#@%%%%%%%%%%%%%%%#*.........=%%%%%%%%%%%%%%%#***********************#%#**********##==============+#%#******************************#%#:::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============##:......=%%%%%%%%%%%%%%%##:.........*%%%%%%%%%%%%%%%**********************%#*************%+===============*%#**************##**************#@#::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============+%-......:%%%%%%%%%%%%%%%#*+.........=%%%%%%%%%%%%%%%#********************%#**************#%================*%#*************###**************#@*:::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============#+.......*%%%%%%%%%%%%%%%*#=.........#%%%%%%%%%%%%%%#******************#%*****************%*================+%%*************##***************#%=::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============*%:...:=-+%%%%%%%%%%%%%%%*#%-.:::....-%%%%%%%%%%%%%%%*****************#%#******************%+=================*%#************##**************##%::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============+@=...-==*%%%%%%%%%%%%%%###-..........*%%%%%%%%%%%%%%#***************%@@@@#****************%#==================*%#***********#%#*************##%#:::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============*#:..-=.:#%%%%%%%%%%%%%%%+:........:=#%%%%%%%%%%%%%%%*************#@@@##%%*****************@+==================*##***********%@#**************#%=::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============%*..:+..+%%%%%%%%%%%%%%%###**+=-:-#%%%%%%%%%%%%%%%%%************#%@%***@%*****************#%===================+%#**********#@@#*************##@::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============+%*:.--.-%#%%%%%%%%%%%%%**#%%%%%%%%%%%%%%%%%%%%%%%%%#*********#%#@%**#@@#******************%*===================+##**********%%@#***********###%*:::::::::::::::..........................++++++++ +..........................:::::::::::::-================+%%=:=-:#%%%%%%%%%%%%%%#**@%##%%%%%%%%%%%%%%%%%%%%%#********#%@@@##%@%#*******************#%+===================+%##****#***#%*%#***********###@:::::::::::::::..........................++++++++ +..........................:::::::::::::-=================+#@+--:*%%%%%%%%%%%%%%#**%%%%%%%%%%%@%%%%%%%%%%%%%%*******##*#@@@@%#**********************%%+===================+%##***#****%+*%*************#%=::::::::::::::..........................++++++++ +..........................:::::::::::::-===================*%%*-=%%%%%%%%%%%%%%#**#%%%%%%%%%%%%%%%%%%%%%%%%%*****#%***#@%***************************@%+===================+##********##=%%*************%*::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================*%%#@%%%%%%%%%%%%%%***%%%%%%%%%%%%%%%%%%%%%%%%%#***#%%%#%@%******####******************#@@#+==================+##*******##=+%##***********##::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================*%@%%%%%%%%%%%%%%***#%%%%%%%%%%%%%%%%%%%%%%%%#*#%**#%%%#******%@@%@#*******************%@@*==================+##*#****#%+=+%#***********#%::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================#@%%%%%%%%%%%%%****%%%%%%%%%@%%%%%%%%%%%%%@%@@%************%@#**#%*********************%@+==================*%##*****%+===%#**********#%::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================+%%%%%%%%%%%%%%****#%%%%%%%%@%%%%%%%%%%%%%@@##@*****###***#@#***#@*********************%@+===================*%#*****#+==:+#**********##::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#%%%%%%%%%%%%%*****%%%%%%%%%%%%%%%%%%%%%@%+=+@#***%@%%%#*@%**#%@#*********************%#=====================*%#****##==::##*********%*::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================*%%%%%%%%%%%%%*****#%%%%%%%%%%%%%%%%%%%@@*===#%**#@#**#%%@%%%@@#**********************%%======================%#****##==::=%#*******#%=::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%#*****%%%%%%%%%%%%%%%%%@@#+====+%#*#@****%@%@%%#*************************@*=====================+%#***##==:::*%*******#%:::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#%%%%%%%%%%%%#*****%%%%%%%%%%%%%%%%@%*=======*%*#@#*#%@#******************************#@+=====================#%***##==::::%#******#*:::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#@%%%%%%%%%%%#***#@%%%%%%%%%%%%%%%@*==========%#*#%@@%#********************************%%=====================+%#**##==::::=%*****#%+:::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================+@%%%%%%%%%%%%*%%#%#%%%@%%%%%%%%%%*===========*%***#******###**************************#@*=====================%##*##==:::::##****#@::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================%%%%%%%%%%%%@%%+=###%%%%%%%%%%%##+============##******#%@%%%%**************************#%+====================#%#*%#==:::::=%***#%*::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================#@%%%%%%%%%%@#===*%#%%%%%%%%%#**#+============+@#****#@%%%%%%%#*************************%#====================#%##%*==::::::@#**%#:::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@%%%%%%%%%%@+===+%*%%%%%%%#****#+=============#%****%%%%%%%%%%#*************************@*===================#%##%+==::::::#%*#@=:::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================#@%%%%%%%%@@+====%#*#%%%#******##=============+%%**#%%%%#*%%%%%*************************#@+==================#%###===::::::*%#@=::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================*@%%%@%%%%%*=====*%**#***#*****##==============*@#*#%%%#==#%%%@#*************************%#==================%##%+===::::::*@@=:::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================%@%###*#%+=======##****##*****##=============*@#**#%#%#==%%%%%***************************%*================*@##%====::::::=*=::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================+@#*#*#%#========#%###*#******##============#@#****%%%%%%%%#%%***************************%#===============+%##%*====:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================+%#***#%+========+%###********##============#@*****#%%%%%%#%%#***************************#@+==============#%#%#=====:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================#%#***%#==========%%#*********##============+@#*****#@%%%%%%%*******************#*********%+=============*@#%%+=====:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================##***#%+==========+@#*********#+=============*@#*****%##%%%##*******************%#********#*===========+#@@@%*======:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================+@##**%#============*%#********%+=============+@%****#%*#*##*#*******************@#*********%===========*@@%#+=======:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================+%***#%+=============#%#*******%+============+%%*****%###*##*#******************#@#*********%+===========++==========:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================#%#**##==============+@#******#%+===========+%#*****#%*%**##********************%%#*********%#=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================###*#%*===============#%******##===========*%##%@#**%#*#**##*#******************%%#*********##=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@#**#%================*@#*****%*==========*@%%%%%**#%*#***##*#*****************#%%#**********%+======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@#**%#================+@#****#%+=========*@@%%%%%**%#*#***##*#*****************%%%#**********%+======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@#*#%+=================%%****##=========*@%##%%%#*#%*#***#*#*#****************#%%%#**********##======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@#*#@+=================#%***#%*========*%%###%%%**%%+#***#*#*#****************%%%%#**********##======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@#*#@+=================#%***%#=======+#%####%%%#*#%#*****#*#+#***************#%%%%#************======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@#*%#==================#%#*#@*======+%%#####%%%#*%%*#****#*#+#***************%%%%%#***********%+=====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================%%*%#==================#%##@*======+%%######%%%*#%#+#****###+#**************%%%%%%#***********#+=====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================*@#%%==================#@%@*======+%%#######%%%#%%********##+#*************#%%%%%%#***********##=====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================*%%@+================+@@%*======+%%#######%%%%%%%+#****#+##+#*************%%%%%%%#************#=====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================+#@%*================#*=======+%%########%%%@%##+#****#+%*+#************%%%%%%%%#************%+====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================*#*========================+%%#########%%%%#%+******#+%**************%%%%%%%%%#************#+====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================================================+%###########%%%###=#*******#*************%%%%%%%%%%#************#+====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================================+%%###########%%%*#*+#*****+*%+*********#%@%%%%%%%%%%#*************#====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================================+#%############%%###+*#****#+##+#*****#%@@%%%%%%%%%%%%#*************#====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================================================+################%*##=*%#####=##+%#%%@@%##@%%%%%%%%%%%%#*************%+===================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================================================*%%################*%*+=::-=*%+##+#**#@*==#@%%%%%%%%%%%%#*************%+===================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-======================================================*%#################+##+*-....:*+##+=..=%===#@#**##%%%%%%%#*************#*===================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================================================*%#################*+##++:....:++#*+-..+#===+@=..::::--==+**************##===================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-====================================================*%##################+#%*+=.....=+*%*+-..**===+@-...........+**************#===================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================*%###################+##+*-.....+=#%++:.:#+===+@-...........+**************@+==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==================================================*%###################+*%*=*:.....*=##=+..:%+===+%:...........+**************%+==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================*%####################=##+++.....:*=##=*..-@+===+%:...........+**************%+==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================*%#####################+##=+-.....:*+##=+..=#====+#............+**************#+==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================================+%####################%%%@%*#:.....-*+%*=+..*#====**............+**************#*==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================+######################%+%*+#-......=+*%*+=..*+====#+............+**************##==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================+%%#####################%=*=*-.......+#%%%%-.:#+====#=............+***************#==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================+%%#####################%%==*+........#*#*+#:.:%+====#-............+***************#==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================#@#####################%#+==#=........**#*=+..-#=====#-............+****************==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================================*@######################%=====+........-#==#-..=#====+%:............****************%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================+@%#####################%*=+===+-.......:#==#*:.++====+#.............****************%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================+%%######################%+=*=+++*.......=*====*:*+====+*.............****************#+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================================+%%#######################%*=+*=%*=:......*=+=#=+*%+====#+............:****************#+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-========================================#@#########################%##@@@=........#=#=*=+%%=====#=............:****************#*=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================================*@###########################%@%*#=........#=*+-=#*#=====#-............:****************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-======================================*%############################%@+=#=........-+****-=#=====*:............-****************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-======================================%%############################%#==#=..........:::..+#====+%:............-****************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================================*%############################%@+==#=...............++====+#.............=*****************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-====================================*@#############################%%===#+...............*+====**.............=*****************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================*%%#############################@*===#+...............#+====#+.............=*****************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==================================+@%#############################%%====#*..............:%+====#=.............+*****************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================+%@%#############################@#====#*..............:#=====#-.............******************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================+#@%%%%%%%%#######################%@+====#*..............-#=====#=............:******************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================#@+======+*##%####################%#=====#+..............+#=====#=............:#*****************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================+@*=-=======-=+#%##################@*====+%-..............##=====#=............:#*****************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================%#======-===---+%#################%%=====##..............:%+=====#=............-******************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================*@+========-===-*##################@#====+@=..............-#======#+............=******************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================%#--===*#*%*====%##################@+====+%:..............**======#+............=******************#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@+--==#%+=+%==-*%#################%#=====#*...............#+======#*............+*****************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================#%====+%+==+%==-%##################@*====+@-..............-%=======#*............+*****************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================+@*-===#@####%=-=%#################%@+====*#:..............+#=======*#:...........******************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================*%=---=+@%@%%+=-*%#################%%=====#*...............%+=======+#:..........:#*****************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================##=---==#=*%+--=%##################@*=====#-..............-%========+%:..........:#*****************##=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#+=====-+=++=--*%##################@+====+#:..............**========+%:..........-#*****************%#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+%======-+=++--=%%%%%%%%%%%%%%%%%%%%%=====+*..............:%+=========%-..........-#*****************%#=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================##--====-*+#===*@@@#@@@@@@@@@@#%####*=====++:.............+#==========#=..........=#*****************%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#*=====++%##%@@#+++=++++++++++============*===:...........#+==========#+..........+******************%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#%%%%*+*#++=%++===========================*:.:---::......-#===========#*..........*******************%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================*%%=::+-==-%+===========================+#-...::-==-----**===========#%-::...:-==%**********#*******%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================+%=..+-.+:-#============================*#+=:.....::::--#+===========#%=======-:=%**######***#******%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================##:.==.:+.=#============================*++++=-::......-*============#%:........-%#*+========#******%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================*=.:+:.-=.**============================+::=+++++===---+*============*#:......:-*==-----=--==#******%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+%:.=-..+::%+============================*...:-==++++++*%+============+%+======+#*=------===-+#******%+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+#::+:::*:+@+===========================+*.......::--==+#=============+%*+++++++#+=----====--+#******@+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+#::+-*%%*%#============================+=.............=+=============+#::----:-#==--=#%%*=--#******%@+=================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+%--#%###%#+============================*=.............*+=============+#:......:*-=-=###%%=-=#*****%@#==================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#%%#+==================================*-............:*==============+#:......=+---#*==#%=-+#***#%%+===================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================*#+===================================*:............=+==============+#:......*=--+@+==#%=-*#**#@%+====================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================================+#.............*+==============+#:......#===*@##%@#=-#**%%*======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================================+*............:*===============+#:.....-*-==*@#%#%+-=%%%#+=======================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================================*+............=*===============+#:.....++====#++%*--+@#+=========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================================#=............*+===============+#:.....#+===-=+-*--=#@+==========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================================*-...........:+================+*:....:#===--=+-*+*%#*===========================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================================+%:...........=#================+#:....-*====-=++%@#+=============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================================+#............**================+*.....=*-=--=##+=%+==============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================================**...........:%+================**.....++=+***=:.:%+==============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================================#=...........=#=================#*.....-#*+-:....-@+==============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================================#-...........*#=================#+....:+=........+#===============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================================================+%:..........:%+=================#+....+=.........##===============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================+%#...........=%==================#=...=+.......:.-%+===============================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================#@=...........*#==================#=..:+:....=-.=:*%================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================================+@@-::........:%+==================*-..+-....-*:-=-%*================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================================#@%%%#*+=:....+@#=================+%:.-*....:*::+-##=================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================================%%%%%%%%%%*=:=%@#=================%@+*##-..:+-:*-*@+=================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================+@%%%%%%%%%%%#%@@+================+@@%%%%#=-*#+##+@*==================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================*@%%%%%%%%%%%%%@%=================#@%%%%%%%%%%%%%%+===================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================#@%%%%%%%%%%%%%@#=================%@%%%%%%%%%%%%%@+===================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================#@%%%%%%%%%%%%%@+================*@%%%%%%%%%%%%%%%====================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================#@%%%%%%%%%%%%@%=================*@%%%%%%%%%%%%%@*====================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================*@%%%%%%%%%%@@%*==================%@%%%%%%%%%@@%*=====================================:::::::::::::::::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================================*@@@@@@@@@##+=====================#%@@@@@@@%#+=======================================:::::::::::::::::::::::::::::..........................++++++++ +.........................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=++++=:::::::::::::::::::::::::::::=**=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::................................................................ +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::=**#@@@@%%@%%@@%%%%@@@**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::=*@@%%%%%%#==#%%%%%%%%%%%%%@%@@**+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::::::::::+#%%%%%%%%%%#=---#%%%%%%%%%%%%%%%%%%%%@#+*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::::::=*%%%%#%%%%%%%%#=-==-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%#*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::=*%@%%%%%%%%%%%%%*===#*=-=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+++::::::::+=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::=======================+#%%%%%%%%%%%%%%%%%*=-=*%%*-==*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##++@#=====================================================:::::........................................... +.................................:::::::::::::::::====================+*#@%%%%%%%%%%%%%%%%#+--==##**===-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%@@@@#+====================================================:::::........................................... +.................................:::::::----------=================+*%@@%%%%%%%%%%%%%%%%%%+--===#*-====--+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%@%+==================================================:::::........................................... +.................................::::::-=========================+#@@@%%%%%%%%%%%%%%%%%%#+-=====#*-====---+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%==================================================:::::...................................-------- +.................................::::::-========================#@@%%%%%%%%%%%%%%%%%%%%#=-======#*========-=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%#%@+=================================================:::::...................................++++++++ +.................................::::::-=======================+@%%%%%%%%%%%%%%%%%%%%%#+-=======##==-=======+%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%@@@@%%%@+=================================================:::::...................................++++++++ +.................................::::::-========================#%%%%%%%%%%%%%%%%%%%%%==========*##*+========#%%%%%%%%%%%%%%%%%%%%%%%%*****%%%@@@%%%%%#==================================================::::::::::::::..........................++++++++ +.................................::::::-========================#%%%%%%%%%%%%%%%%%%%%+=========-==+###+--====#%%%%%%%%%%%%%%%%%%%%%%#******%%%@%%%%%%@#==================================================::::::::::::::..........................++++++++ +.................................::::::-========================#%%%%%%%%%%%%%%%%%%%%*-=========+==+#%#+=====#%%%%%%%%%%%%%%%%%%%%%%*******%%@%%%%%%%@*==================================================::::::::::::::..........................++++++++ +.................................::::::-========================#@%%%%%%%%%%%%%%%%%%%#========+###+=#%%#*====#%%%%%%%%%%%%%%%%%%%%%#*******%@@%%%%%%%@+==================================================::::::::::::::..........................++++++++ +.................................::::::-========================+@%%%%%%%%%%%%%%%%%%%%=======+##*#*-+%#+=====%%%%%%%%%%%%%%%%%%%%%%*++=+**#@@%%%%%%%%%===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================%%%%%%%%%%%%%%%%%%%%%+===+++##+=#==*#+++==-+%%%%%%%%%%%%%%%*****#@#+-:-+*%@%%%%#@%%@*===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================#%%%%%%%%%%%%%%%%%%%%*-===+###*===+#**#+=--+%%%%%%%%%%%%%%%******#*+-:=*#%%%%%#*%%%@+===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================+@%%%%%%%%%%%%%%%%%%%#=====+#%#+==#####==--*%%%%%%%%%%%%%%%*****+===::+*#***#%**@%@#====================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================%%%%%%%%%%%%%%%%%%%%%======+#%*=*####+==-=#%%%%%%%%%%%%%%%%***+-::-:-=-=+*+*%*#%%%%+===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#@%%%%%%%%%%%%%%%%%%%+=====-=##*###*=-====%%%%%%%%%%%%%%%%%%***+--:::::-+**#%*****@#===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+@%%%%%%%%%%%%%%%%%%%#======-=#%#+==-=====%%%%%%%%%%%%%%%%%%@%%#+-::::=+***%***#%%%++++================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#%%%%%%%%%%%%%%%%%%%#=-====-=*%#=======-+%%%%%%%%%%%%%%%%%%%#**+:-=-:=*#%%#****%@@@@@@%###++==========================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#@%%%%%%%%%%%%%%%%%%%+-====--+#*========#%%%%%%%%%%%%%%%%%%#***+==*=--+*##**%#*#%%%%%%%%%@@@##+=======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================+@@@%%%%%%%%%%%%%%%@@*-=====-+#+========%%@%@@@@@@@@@@@@@@%*********++***%*#%@%@%%%%%%%%%%%%%@@%+=====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-========================++++%@@@@@@@@@@@@@@@@@@@#======-=#+-=======@%%%%%%%%%%%%%%%%@#******#%******%@%%%%%%%%%%%%%%%%%%%@@#=====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-================++*####%@@@@@@@@@@@@@@@@@@@@@@@%%=-====--*=-======*@%%%%%%%%%%%%%%%%@*******%%#****#%%%%%%%%%%%%%%%%%%%@@#*======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========++####@%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%+-=====-*=-======#@@%%%%%%%%%%@@@@%@#****#%%%%%%%%%%%%%%%%%%%%%%%%%%%@*+========================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========*@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@*--====-+=-======%@@@@@@@%%@%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%##**+%*=========================================::::::::::::::..........................++++++++ +..........................:::::::::::::-========*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+********+******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**+++++*@+========================================::::::::::::::..........................++++++++ +..........................:::::::::::::-========+%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**+++++++++++%#========================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========+#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#*#*++++++++++++++*%========================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========+#%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**++*#+*#++++++++++++++*@+=======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============++##%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####**++++++++#*+#+++++++++++++++%+=======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================++##@####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%#**++++++++++++++*#+#*++++++++++++++#+=======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-======================##++++#***#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###****+++#++++++++++++++++++***#++++++++++++++#+=======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================+%*+++*#+++++++++*****######%%%#######%#########%#*+++++++++++#+++++++++++++++++++#*%++++++++++++++*%+======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================+%++++**++++++++*++++++++++*#+++++++++++++++++++##***####*++++#*++++++++++--=++++++#%+++++++++++++++##======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================##++++#+++++++++#++++++++++*#+++++++++++++++++++*=##**++++++++**+++++++++=--=++++++*%*+++++++++++++++#*=====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================#*+++**+++++++++#+++++++++**++++++++++++++++++++*-=*++++++++++**++++++=+++--=+++++++#*+++++++++++++++*%+====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================+%++++#++==++++++#+++++****#+=*++++++++++++++++++*--=*+++++++++**+++++=-=++=-=++++++++**+++++++++++++++*%====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================+%+++**++--=+++++#+++###**##+=*+++++++++++++*++++*-::=*+++++++++*+++++=-=++==++++++++++#++++++++++++++++#*===================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================*#+++*++=-=+==+++#++++++++#-:-*+++++++++++++*++++*=::-=*++++++++*++++++=++++++++++++++++#+++++++++++**+++#+==================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================##+++#++=-=+=-=++#+++++++*+:::++++++++++++++**++++=::::=**++++++*+++++++++++++++++++++++**++++++++++*%*++##==================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================##++**++=-=+=-+++#+++++++*::::-*++++++++++++*#+++++::-:-=*++++++*++++++++++++++++++++++++**+++++++++*##*++%+=================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================#*++#++++++++++++#++++++*=....:+++++++++++++*%*++++-----:-**++++#+++++++++++++++++++++++++**++++++++*#+%++*#=================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================**+*#++++++++++++**+++++*......=++++++++++++*%*+++*-:::::::+*+++*++++++++++++++++**++++++++**+++++++*+=*%++#+================================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================*+*%*++++++++++++**++++*=......:++++++++++++*%#+++*:........=**+*++++++++++++++++*#+++++++++**++++++#===*#+**====+#==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================%*##+++++++++++++**++++*:.......=+++++++++++*#**+++=.........-#**++++++++++++++++*#++++++++++**+++++#*===##+#+==+#@+=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================+@#**++++++++++++++*+++*+........:++++++++++++#=+*+++..........-**+++++++++++++++++#+++++++++++**++++%@%+++#**#*#@@@+=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================*@***++++++++++++++*+++*:.........=+++++++++++*+:*++*-..........:*+++++++++++++++++#++++++++++++**+++%%@@@%#%*#@%+##==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-==================#%*+*+++++++++++++++*++*+..........:++++++++++++*.:*+++..........-*+++++++++++++++++#+++++++++++++*#**%%%%%%%%#*%%*%+==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-================+#%*++*+++++++++++++++*++#:...........-+++++++++++*:.:+*#=.......-=#*+++++++++++++++++#++++++++++++++*##%%%%%%%%%*###%===========================::::::::::::::..........................++++++++ +..........................:::::::::::::-===============*%%*+++*+++++++++++++++*+**.............=++++++++++*=...-=-....:=*%#%#+++++++++++++++++#+++++++++++++*#**%%%%%%%%%#*#%*===========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============+%%#++++*++++++++++++++++*+#-.............:++++++++++++.......:=*%%%%%%%*++++++++++++++++#****+++++**##*++*%%%%%%%+%%###============================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========+#@%*+++++*+++++++++++++++++**...............:++++++++++*:....-*#%%@@%#+**+++++++++++++++++#+*#%%######*++++*%%%%%%%%%%###============================::::::::::::::..........................++++++++ +..........................:::::::::::::-=======*##%@%*+++++++*+++++++++++++++++%+................:+++++++++*+.:+#@@@@%*=:.:+++++++++++++++++++#+++#%@**+++++++++%@%%%%%%%#%%%*===========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=======%@@#*++++++++**+++++++++++++++++#-.................:=*+++++++*+#@@@@%+=-=++*###*+++++++++++++++#+++###*++++++++++%#%@@@@@@###%%===========================::::::::::::::..........................++++++++ +..........................:::::::::::::-========*%#*++++++++**+++++++++++++++++*::---:::............:=********@@@@@@%@@@@@@%%%*+++++++++++++++#+++*@#*++++++++++%+=+#####+=+%%*==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-========++*%#+++++++**++*#++++++++++++++=#%######***++-........:-=-:.:%@@@@@@@@@@@@%%%*++++++++++++++**+++*@*#++++++++++%#==========#%%==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=======*@###@%#**++*#+++%%++++++++++++++#@%****###%@@@%:..............*%%******+==#***+++++++++++++++**++++@+%++++++++++#%*=========*@@*=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=======*@%#%@%%%%%%%#++*##*+++++++++++++**+==++*%@@@@@@=...............::........-*++++++++++++++++++*+++++%+#*+++++++++##%==========#@#=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-========#%++%%%%%%%%#++#**#+++++++++++++++:--+#%%##@@@%-.........................=+++++++++++++++++++#+++++%+##+++++++++###+=========+@@+========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========#%*%%%%%+*%*++#++#++++++++++++++#%@@@@%@@@@#=:.........................:++++++++++++++++++++*+++++%++%+++++++++*#*%*=========#@#========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========+#%#%%%%%%%*++%++*#+++++++++++++%@@@@@%#+-:............................=+++++++++++++++#+++**+++++@+=#*++++++++*#*#%*========*@@+=======================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========#%##%%%%%*+*#+++*#++++++++++++%%@%*=:...............................:*++++++++++++++*%+++#*+++++@+=*#++++++++*#**#%+========%@#=======================::::::::::::::..........................++++++++ +..........................:::::::::::::-============*%%%##@@#+#*++++*#+++++++++++*##-..................................=*+++++++++++++*%%+++#*++++*%==+%*++++++++##**##+=======*@%=======================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============+#@@@%#+#*+++++*#*++++++++++++*:................................-*+++++++++++++#%##++*#**+++*#===##++++++++##***##+======+@@+======================::::::::::::::..........................++++++++ +..........................:::::::::::::-================++++#+#*+++++#**#*++++++++++*+...............:---:::-........-*++++++++++++*%####++##**+++##===*%++++++++*#****##+======#@#======================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================+%+%#+++*#*++**##***+***#+-:...........::=++======-......=#*++++++++++*##%*##*+*#***+++%+====%#++++++++#*****##*=====*@@+=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================%*%%+++#*++++++*####%=-:............-===---------+:.....:+***++++**##*+*%#*#**#*#%#++*@+====*%*+++++++##*****#%*====+@@#=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================##%@++#*+++++++*#+++#...............+=-----------=-.......:*######**+++*%###*###%@%++##======%#+++++++*##*****#%#+==+@%#=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================+@@#*#*+++++***#*+++*...............=-------------+:......:*+++++++++++####%###%@*@++%*======+%*++++++*##******###*==#%@+====================::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================*@*%#+++****###++++*:..............:=------------=:......+*+++++++++++####%##%%++@*#@+=======*#+++++++##********#%#+#%@+====================::::::::::::::..........................++++++++ +..........................:::::::::::::-======================++%++*%%#***#*++++**-..............-=-----------=:.....-*+++++++++++*%#*##%@#+=+@#@*=========##++++++*#**********#%@%@#====================::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================##+##*%***##++++++##=:.............==--------::-.....:*++++++++++++#@%%@@#+===+@@*==========+%*+++++*#***********##%@#+===================::::::::::::::..........................++++++++ +..........................:::::::::::::-======================+@*#*+*#***#*+++++***##=:............-=-:::::::......:+*+++++++*++++%%##*+======#*============##++++++##************##%%##++===============::::::::::::::..........................++++++++ +..........................:::::::::::::-======================+@%%*+*%**##+++++****#%##=:...........:..............=*++++++**++++*%+========================+%#+++++*#***************###%%%#+============::::::::::::::..........................++++++++ +..........................:::::::::::::-======================+@@*#+*%#*#*+++++****%#=**#+-.......................-#++++++***++++%*==========================+#*+++++##************##****##%%%#+=========::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================#+=**+*%##+++++*****%*===+#**=-...................:**++**#%%%#*++*@+===========================+##++++*#*******************#*##%%%#+======::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================*#++*%*+++++*****%+======++#*=-:.............:-***####***##%%#%*=============================+%#*+++%#***********************##%%%#+===::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#*+*#+++++*****#@+=========++*#*+--:....:::-=*%#************#@#===============================*##*+*%*************************###%%%*=::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================##+#++++++*****#%===========+*%@%%%%###*=+*******************#@*================================*#%*##***************************###%%*:::::::::::::..........................++++++++ +..........................:::::::::::::-===========================+%**+++++******##=========+#@@%%%%%%%%@%#*********************#@+=================================*#%%#******************************##%+=::::::::::..........................++++++++ +..........................:::::::::::::-============================##++++++******##========*@@%%%%%%%%%#*************************#%+=================================+#%%#********************************##%*::::::::..........................++++++++ +..........................:::::::::::::-===========================+@*++++++******#%+=======#@%%%%%%%##****************************%#===================================*%#**********************************##%*::::::..........................++++++++ +..........................:::::::::::::-===========================##++++++*******#%%+=====*@%%%%%%#********************************%+===================================*%#***********************************#%#=::::..........................++++++++ +..........................:::::::::::::-===========================#*++++++*******##%%===*%@##%%#***********************************#%====================================*%#************************************#%*:::..........................++++++++ +..........................:::::::::::::-==========================*#+++#*++*******###%##%@@%@@%%#************************************%*====================================*%#**#*********************************#%+::..........................++++++++ +..........................:::::::::::::-==========================#*++#@*+****###%%%%%%%%%%%%%%%%#************************************%+====================================*%#************************************#%=:..........................++++++++ +..........................:::::::::::::-=========================*#++#@@*+***#%@%%%%%%%%%%%%%%%%%%%***********************************#*=====================================%%#************************************#%:..........................++++++++ +..........................:::::::::::::-=========================%*+*@%@*+*##%%%%%%%%%%%%%%%%%%%%%%#***********************************%+====================================+%%#*****####*************************###*..........................++++++++ +..........................:::::::::::::-========================+@**%##%#**#@%%%%%%%%%%%%%%%%%%%%%%%***********************************##=====================================+%%##**#%@@%%##**********************###%:.........................++++++++ +..........................:::::::::::::-========================+@*#@#@@###%%%%%%%%%%%%%%%%%%%%%%%%%************************************%*=====================================+%%#***#@%##%%%##*********************#%+.........................++++++++ +..........................:::::::::::::-======================+##@%%@%%@%##%%%%%%%%%%%%%%%%%%%%%%%%%#************************************#+=====================================*@###*##@+==+#%%%###******************%#.........................++++++++ +..........................:::::::::::::-===================+#%@@@%%%%%%%=::-==*%%%%++%%%%%%%%%%%%%%%%************************************##======================================*%#***##%=====+#%%#*****************##@:........................++++++++ +..........................:::::::::::::-==================*@@@%%%%%%%%%%+......=*#+--+%%%%%%%%%%%%%%%***************************##********%+======================================#%****#%*=======*%%#****************#@:........................++++++++ +..........................:::::::::::::-=================+@%%#%%%%%%%%%%%-.......:-::-*%%%%%%%%%%%%%%#*************************#%#********##======================================+%#****#@+========*#%#**************#@:........................++++++++ +..........................:::::::::::::-==========*###*+++@%%%%%%%%%%%%%%*..........::-#%%%%%%%%%%%%%%************************##***********%+======================================+%#****%%=========+#%##************#%:........................++++++++ +..........................:::::::::::::-=========+@####%%%%%@%%%%%%%%%%%%%=..........::=%%%%%%%%%%%%%%***********************##************#*=======================================##****#@+==========+###***********#@:........................++++++++ +..........................:::::::::::::-=========+%-....::::-%%%%%%%%%%%%%#:..........::=%%%%%%%%%%%%%**********************##**************#*======================================+##****%#=============%#**********##.........................++++++++ +..........................:::::::::::::-==========#*.........=%%%%%%%%%%%%@+...........:-*%%%%%%%%%%%%#*******************##*****************#=======================================#%****#%+===========:=##*********%+.........................++++++++ +..........................:::::::::::::-==========+%-........:%%%%%%%%%%%%%=..:::.......:-%%%%%%%%%%%%#******************##******************#*======================================+##****%+===========:::##*******#%+.........................++++++++ +..........................:::::::::::::-===========##:...=+=:.*%%%%%%%%%%%=.............-*@%%%%%%%%%%%%****************#%%********************%+======================================#%#***##===========::::*#******#@:.........................++++++++ +..........................:::::::::::::-===========+%*:.:=:-:.-%%%%%%%%%%%#-...........-#@@%%%%%%%%%%%%***************###@%*******************#%======================================+%#***#%+==========:::::##*****##..........................++++++++ +..........................:::::::::::::-============+%#::=....:#%%%%%%%%%%%@%*-:.....:*%%%%%%%%%%%%%%%#*************##***#@#*******************%*======================================*#****%+==========::::::%#***#@=..........................++++++++ +..........................:::::::::::::-=============+%%+--....+%%%%%%%%%%%@%%%%*=::=%%%%%%%%%%%%%%%%%#************##****%@#********************@+=====================================+%#***%#==========::::::=%##*##:..........................++++++++ +..........................:::::::::::::-===============*#+==-..-%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********#%@###%@@#*********************#%======================================##***##==========:::::::*%##%=:..........................++++++++ +..........................:::::::::::::-================+@*==:::%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%**********##%@%@@@%#***********************%*=====================================+%***#%==========::::::::%#%*::..........................++++++++ +..........................:::::::::::::-=================+%#=--:*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********####@#******************************%+====================================+@#**#@+=========::::::::@%#:::..........................++++++++ +..........................:::::::::::::-==================+#%#++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******#%%#%@%********#%##*******************#%+====================================##**#@+=========::::::::@#::::..........................++++++++ +..........................:::::::::::::-====================+%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****##%@@%#*******#@@%%@#*******************%%+===================================#%#*#@+=========::::::::@+::::..........................++++++++ +..........................:::::::::::::-=====================*@%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***#%*************#@%#**%%********************%@#+=================================*%**#@+=========::::::::@:::::..........................++++++++ +..........................:::::::::::::-=====================+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*#%#%#***********#@%****@%*********************#@@#+===============================+%#*#@+=========:::::::#@:::::..........................++++++++ +..........................:::::::::::::-======================#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#%***********#@****%@#***********************#%%===============================+%#*#@+=========::::::=@*:::::..........................++++++++ +..........................:::::::::::::-======================+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***%#****#%%%%#%%*#%@@#*************************%@+==============================+%*###==========::::::==::::::..........................++++++++ +..........................:::::::::::::-=======================%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##****##**#%@%%%%%@%%@@%***************************%%===============================#%**%#==========::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#******###*%%#****%@%%#*****************************#@#+=============================#%*#@+==========::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================+@%@%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%#*********##%%**##%@%*********************************#@%=============================%#*%%===========::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================+@%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%#**********###%@@@@%#***********************************#@#+==========================+@##@*===========::::::::::::::..........................++++++++ +..........................:::::::::::::-========================#%%%%%%%%%%%%%%@%%@%%%%@%%%%%%%%##***********###*###****************************************@#==========================%##%#============::::::::::::::..........................++++++++ +..........................:::::::::::::-========================+@%%%%%%%%%%%%%%@%%%@@@%%%%%%%#*#%##**********#%*************####***************************#@*========================*%#%*=============::::::::::::::..........................++++++++ +..........................:::::::::::::-========================+@%%%%%%%%%%%%%%%@@%%%%%%%%@%#**#%%#***********%#**********#%%%%%%#**************************#@*======================*@%%*==============::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================#@%%%%%%%%%%@@@%*+#%@@%%@@%%**###@#***********%@********#%@%%%%%%%#**************************%%+===================*#@@#+===============::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================#@%%%%%%@@%#+++=====+###*+#%#***#@#***********%@%******#%%%%%%%%%%%***************************%#==================%@%*+=================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================+@@@@@%#*+================*@#***#@@**********#%#%#*****%%%%%%%%%%%%#**************************#%==================#*====================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+++++====================+@#***##%#**********%#*@#***%%%%%#==#%%%%#***************************#*=======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================+@#***###%#********#%#=%%***%%%%%+==%%%%%#****************************%*======================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================+@#***##*@#********#%+=+@#**#%%%%%%%%%%%%*****************************#@+=====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================+@#***%#+@#********#@+==#%***%%%%%%%%#%%%******************##**********%%=====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================+@##*#%+=##********#%===#%****%%%%%%%%%%##*****************%%***********%*====================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================+%#**##==#%********%#==*%#******#@%@%%#*##*****************%%#**********#%+===================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================+%#*#%*==#%*******#@*==%%********%+#**#+*#*****************%%#***********%#===================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================#%**#%===*%#******#%==+@#*******##+#**#**#****************#%%%************%+==================================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================%%*#%*===+@#*****#@#===%%*******%+#***#**#****************%%%%************#%==================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==================================================+@##%*====+@#****#%%+===*%#*****#%+#***#**#****************%%%%#************@*=================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==================================================#%#%*=====+@#****%@*===*%**#****%*#***********************#%%%%#************#%=================================::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================+#@%%*======+%#**#%@*===*%***%***#%+#***********************%%%%%%*************%+================================::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================#@@%+=======#%**#@@*===*%***%@***%********#****************#%%%%%%*************#%================================::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================+*+======++*@##%@%+===*%***#%%**#%+#****#*#****************%%%%%%%**************@+===============================::::::::::::::..........................++++++++ +..........................:::::::::::::-========================================================+@@@@@@%+====%%**#%@%%*#%#+#****#*#****************%%%%%%%#*************##===============================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================================*####+=====*%**#%#%%%*%%+******#+##**************%%%%%%%%#**************@+==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================================*%*#%%##%%##%#+#*****#+##*************#%%%%%%%%%**************##==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==================================================================*%#%%####%%#%%********#+##*************%%%%%%%%%%***************@+=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================================+%%%%#####%%%%#+#******#+##************%%%%%%%%%%%***************%#=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================================+%@%######%%%#%*********#*%#***********%%%%%%%%%%%%#**************##=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================================================+%@%#######%%##%+#*******#*%***********#%%%%%%%%%%%%#***************%+============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================+%@%#########%*#*+#*********%**********#%%%%%%%%%%%%%%***************#*============================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================================+%@##########%*#%+**********#%*********#%%%%%%%%%%%%%%%****************#============================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================+%%############*##+#********+#%********%%%%%%%%%%%%%%%%%****************%*===========================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================================================+%%############+#%*++##*****#*##*#***#%@@%%%%%%%%%%%%%%%%#***************##===========================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================================*@%############*+##++.:+######*#%+#**+#%%#==+++***##%%%%%%#****************%+==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================================*@%#############+#%*+-...:---=#*%%++:..+##=........::-=+*#%#****************#+==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-========================================================*@%#############*+##+*:........*#%%+=...#*#=..............:-*****************##==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================================================*@%##############+###+=........:*#%#+=..:%+#=................-*****************%+=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-======================================================*@%##############++##**:........=*#%#==..=#=#=................-*****************%*=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================================================*@%###############=###++.........+*#%*=-..*#=#=................:*****************##=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================================================+%###############%**##**=.........**%%*+-.:#+=#=................:+*****************%+========================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================================+#################%+%%%+*:........:**%%++:.-#==#-.................+*****************%*========================::::::::::::::..........................++++++++ +..........................:::::::::::::-==================================================+##################%=%%#**:........=#%%%++:.+#==#-.................+*****************##========================::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================================+#%#################%=#+=%#.........=*##%*+:.*+==#-.................=******************#========================::::::::::::::..........................++++++++ +..........................:::::::::::::-================================================+#%################%%%=++#%*.........-*+#=#*.:%+==*-.................-******************%+=======================::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================================+#%##################+===#%#+.........-*==*+-.-*===*-.................=******************##=======================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================+%%#################%+==-=*%#+........:*#==*:..+*===*:.................*#******************%+======================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================+%%##################%=+==*#%#=........++===++.:#+===#:................:%#******************%*======================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================+%%###################%#*=+*#%#=.......:#=***+*.:*===+%:................=@#******************%#======================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================%%#####################%%+*#%#%=........*=*+*=*:+#===+%:................+#%******************#%======================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================================*%#######################%%%%#%%-........-#*=*=*:*+===+#................:#*%*******************%+=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================*%#############################%@:.........-####+-#====+#................-%+@*******************%#=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================*@#############################%@%:...........:::.=#====+*................+#+@*******************##=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-========================================*@##############################%%#:...............#+====+*...............:#*=#********************%=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-=======================================+@%#############################%@**...............:%+====**...............-%+=##*******************@+====================::::::::::::::..........................++++++++ +..........................:::::::::::::-======================================+%%##############################@##*...............=#=====#+...............*#==##*******************%*====================::::::::::::::..........................++++++++ +..........................:::::::::::::-======================================%%##############################%@+*=...............**=====#+..............:%+==##*******************##====================::::::::::::::..........................++++++++ +..........................:::::::::::::-=====================================*%###############################@#*#:...............#+=====#+..............=%===+#*******************#%====================::::::::::::::..........................++++++++ +..........................:::::::::::::-====================================*@################################@+#+...............:#======#=..............*#===+#********************@+===================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================+@%###############################%%+%:...............=#======#=.............:#+===+%********************%*===================::::::::::::::..........................++++++++ +..........................:::::::::::::-===================================%@################################@*#*................*#======#+.............-%+===+%********************%#===================::::::::::::::..........................++++++++ +..........................:::::::::::::-==================================*@%###############################%#+%-...............:%+======#+.............-%+===+@********************##===================::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================+%%################################@**#:...............-%=======#+.............-%+====%********************##===================::::::::::::::..........................++++++++ +..........................:::::::::::::-=================================#@##%%%%%%########################%%=#+................*#=======#+.............-@+====**********************#===================::::::::::::::..........................++++++++ +..........................:::::::::::::-===============================+#@@##*+++=====-=%##################@*+%-...............-%+=======#*.............-@+====#*********************%+==================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================+@#++========-==-*%#################%#=+*................**========#*.............-@+====#*********************%+==================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================#%=-=============%##################@*=*=...............:%+========#*.............:%+====##********************#*==================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================+@*====*%%%*====-*%#################%%==#-...............+#=========##.............:%+====##********************##==================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================##===-*@#+@@===-=%##################@*=+#:...............#*=========##:............:%+====##********************#*==================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+@+-===%*=+@%+=--*%#################%%==++...............-%==========*#.............:%+====##********************#*==================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================#%=-==*@+=*%*==-=%##################@*==*-...............*#==========+#.............:%+====##********************##==================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================+@*====*@##@#*==-*%#################%%===*-..............:%+==========+#.............:%+====##**********#*********%+==================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================#%======###+*+--=%################%%@#==+*=-.............=#===========+#.............:%+====##*******#%##%*******##===================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================##=====-*+#**=--*%###%%%%%%@@@@@@@@@#+==*=.--............#+===========+#.............-@+====##******##+==********%*===================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+%+=====-++*+=--=%%%@@@###*++++++++++====#:..:=-.........-*============+#.............-@+====##****#*=====#******#%====================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================*#======-*=*=---*@@#*++=================+#:...:-=-::....:**============+%:............=@+====##*##*=-=====*******@#====================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#*-======*+*=+*#%++=====================*#=:.....:-==-==+%=============+@=-::......::=##====+%%#*+========*#****%@+====================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================+@+-=====*%#**#%#+=======================*+++-..........:+*=============+%-:-==---===-:##====#%+=----==--==*#***#@*=====================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================%#+*##*++=-::+#========================+#:=+++-:.......:*==============+@:....::::...:%#====##=----+%#+-==*#**#@#======================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================*#%%+...:=::#*=========================+..-++++==----=++==============+@-...........=@+====#*=---*@##%===****@%+======================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================+%=....-+::#+========================+=....-=+++++++*%+==============+@*=-::::::-==##=====%+---+@*+@%*==#**%%+=======================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================#+.....==.-#=========================*:......::--=--+*===============+%++++++++++++%#====+@+--=#%*%%#===#*%%+========================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================**:.-:..+-.=#=========================*.............:*+===============*#:-==++++==-:##====+@+===%#@##*-=+%%@*=========================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================*=.:+..:+::**========================+=.............-*================#*.....:::...:%+====+%====%+#*#=--*@%+==========================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+#:.=-..-+:-%+========================*-.............*+================#*...........-%=====+%====+*=#=-=+%#============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#+.:+:..===*#=========================*:............-*=================#+...........=#=====#%=====#:#-=+%*=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#=.=+...*#%%+========================+#............:**=================#+...........*#=====##=====*-#+#@*==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#=.**..:#%#+=========================**............=#=================+@=...........#+=====##-====**%*+%*==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================#*=%#-+*@#===========================#+...........:#*=================+@-..........:%+=====#*-====*#=-=+%==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================+#%@#%%##+===========================#=...........=#==================+%:..........=%=====+@+--=+#=-:*--@+=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================+=+===============================#-..........:#*==================*#:..........+#=====+@+-+#%*.-=-.:@+=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================+%:..........=@+==================##:..........#*======%%%%#%:.....:%+=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================+#...........*#===================#+..........-%+=======++=#*:.....:%+=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================#*..........-%+===================%=..........+#==========+%-....:.:%+=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================#+..........+#===================+@-..........*#==========*#:...--.-@+=============================::::::::::::::..........................++++++++ +..........................:::::::::::::-==============================================================%=.........:#*===================+%:.........:%*==========#=....+-.=%==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================================+@-.........-%====================##..........-@+=========+%:-..:*:.*#==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-=============================================================##..........+#====================#*..........+#==========+%-*.:+*.:%*==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-============================================================*%-.........:#*====================%=..........##==========+#=#.=*-.=@+==============================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================================================+@+..........-%+===================+@-..........*#==========+%*%-*#--%*===============================::::::::::::::..........................++++++++ +..........................:::::::::::::-===========================================================#%:..........=@+===================*%:..........+%*==========%@%%%@%%%================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================================+@#...........+%====================#%+++==--:...+@#===========++**#*+=================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================================#@*...........#%====================%@%%%%%%%#=..*@#===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================================#@#**++=::...:%@+==================+@%%%%%%%%%%*+%@#===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================================+@%%%%%%%%#+-.+@@+==================#@%%%%%%%%%%%%%@#===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================================+@%%%%%%%%%%%*%@#===================#@%%%%%%%%%%%%%@*===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================================+@%%%%%%%%%%%%%@#===================*@%%%%%%%%%%%%%@+===================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-=========================================================+@%%%%%%%%%%%%%@+===================#@%%%%%%%%%%%%@*====================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================================%%%%%%%%%%%%%@%====================+%@%%%%%%%%%%@%=====================================================::::::::::::::..........................++++++++ +..........................:::::::::::::-==========================================================+@@%%%%%%%%%@@+=====================+##@@@@@@@@%#+=====================================================::::::::::::::..........................++++++++ +.........................:::::::::::::::::::::::::--------------------------------------------------**@@@@@@@@*------------------------------------------------------------------------------------------:::::........................................... +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::................................................................ +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::-------------------------------------------------------------------------------------------------------------------------------------------------------------------------................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................:::::::-------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................-------- +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%#==##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*##@@@@*====#@@@###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#%@@%%%%%*===-==#%%%%@@@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@%%%%%%%%+===+=--=#%%%%%%%%%@%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%+===+##===+%%%%%%%%%%%%%@##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++*#@@%%%%%%%%%%%%%+====*%%*===+%%%%%%%%%%%%%%%@#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++#%@%%%%%%%%%%%%%%%+--===##**===-*%%%%%%%%%%%%%%%%%@#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++#%@%%%%%%%%%%%%%%%%#=-====+#*---====*%%%%%%%%%%%%%%%%%%%@#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%#=-=====+#+--======*%%%%%%%%%%%%%%%%%%%%%@#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++*@@%%%%%%%%%%%%%%%%%%#=-======+#+-========#%%%%%%%%%%%%%%%%%%%%%%%@#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%#=-======-+#*=-========#%%%%%%%%%%%%%%%%%%%%%%%%@@#*+#@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%=========-=##*+=========%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%#===========++###+=-=====+%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%==========+===#%#+--=====#%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@#*++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%=======-=###*=*%%#*======%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%+=======#####=+#%#*======%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%@%++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%*-==+*+*%*=**-=##+=-===-+%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%#-===+###*=+==*#++*=====*%%%%%%%%%%%%%%%%%%***%%%@@%@@@%%%%%%#+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%#-====+#%#+==+#**#+===-=#%%%%%%%%%%%%%%%%#****%%%@@@@%%%%%%%%#+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%=-====+#%*=+#%###===--=%%%%%%%%%%%%%%%%#*****%%@@%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%+-====-+##+##%#*====--+%%%%%%%%%%%%%%%#******%@@%%%%%%%%%%%@*+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%+-====--*%###*+=-====-*%%%%%%%%%%###%@**++***@@@%%%%%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%*-=====-=#%#==========#%%%%%%%%******%#+--+*#@@%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%#-=====--*%*=========+%%%%%%%%*******#%+:-+#%##%@%#%%%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++*#####@@@@@@@%%%%%%%%%%%%%=-=====-*#+=========*%%%%%%%%******+++=:-=+****%#*%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++##@@@@@@%%@%@@@@%@%@@@%@@@@@@@%+-=====-+#==========#%%%%%%%%#****+-:--:---+***#**@%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++#%@%%%%%%%%%%%%%%%%@@@%%@%@@@%%%%%*--====-+#==========@@@@@@%%@%#****=-::::-=****%**##%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++*#@@%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%#--====-=*========-*@%%%@%%%%@@#****-::::=****%#****%@%@#++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++*%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%=-======*=========%@%%%%%%%%%@@%#*-::=-:-*#%%#****%@@@@@@#++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@+--======-======-=@%%%@%%%%%%@#***=-=*+==**##**#**%@%%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+++++===========#@@@@@@@@@@@%**************%*#@%*#%%%%%%%%@%+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%%%%%%%%#%%%%%%%%%%%%#******%#*****%@%@%%%%%%%%%%%%%%@*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****#%%%####%%%%%%%%%%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++*#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++*#%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++*@%*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++*@*++*#****######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++%#+++#*++++++++++#****#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########%#######@####++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++*%+++#*+++++++++++#++++++**++++*********#######%################************+++++++++**++++++%*+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++%#++##++++++++++++#+++++++*++++++++++++++++++++**++++++*+++++**+++++++++++++++++++++++#++++++##+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++@*+#%*++==++++++++#+++++++*++++++++++++++++++++*#++*****+++++**+++++++++++++++++++++++**+++++*@+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++%+*##+++--=++++++*#+++++++*++++++++++++++++++++*#****++++++++*#++++++++++++++++++++++++*++++++@+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++#%**#+++=-=++=++++*#+++++++#*++++++++++++++++++++**+++++++++++*#++++++++++++=++++++++++++#+++++%+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++%%*#*+++=-=+=-++++*#++++*##%#*+++++++++++++++++++*=*+++++++++++*+++++++++++=-=+++++++++++**++++%#++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++%#++#++++===+=-++++**+++++++#+*+++++++++++++++++++*-=*++++++++++*+++++++=+++=-=++++++++++++*++++##++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++*%*++**+++++++++=++++*#++++++*+-*+++++++++++++*+++++*=:=*+++++++++*+++++++==++=-=+++++++++++++*+++##++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++*%#*+++#+++++++++++++++*#++++++#--++++++++++++++**++++++::=**+++++++*+++++++-=++=-=+++++++++++++**++##++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++#%*++++**++++++++++++++++#+++++*=::=+++++++++++++***+++++:::-**++++++*+++++++=+++=-=++++++++++++++*++##++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++*#%#++++++*+++++++++++++++++*++++**.:::+++++++++++++*##++++*-::--+#*++++*+++++++++++++++++++++++++++++*+##++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++@%##%%#+++++++**+++++++++++++++++*++++#-....-+++++++++++++#%++++*=:::::-*#*++*+++++++++++++++++*++++++++++++*%#++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++*@#**+++++++++#++++++++++++++++++#+++*=......=++++++++++++#%#+++++.......-+#%#+++++++++++++++++*++++++++++++*%*++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++%#++++++++++**++++++++++++++++++#++*+.......:++++++++++++##+*++++:........:=*+++++++++++++++++#+++++++++++++*#*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++#*+++++++++#++++*++++++++++++++*+**:........-+++++++++++*#:**++++.........:++++++++++++++++++#++++++++++++++*%*++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++%*+++++++**+++*#++++++++++++++*#*:..........-+++++++++++#-:+*++*-........-++++++++++++++++++#++++++++++++++++#%*++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++#*++++++**+++%#++++++++++++++**:............=++++++++++*+..=*++*=:......=++++++++++++++++++#+++++++++++++++++*#@@++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++##*++++*+++###+++++++++++++++=..............-++++++++++#...-**#*-......++++++++++++++++++*#**+++++++++++++++*#@*++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++*@%#***++*#*#++++++++++++++++...............-+++++++++*=....:::.......++++++++++++++++++***##*+++++++++++*#@#*+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++*##%*++###%+++++++++++++++*................:=++++++++#:............:++++++++++++++++++**++*%#***+****#%@#*+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++*%++*#++#*++++++++++++++*:.................:=**++++*+..........::=#*++++++++++++++++#+++*#**#####%%%@*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++##++#*#+*#++++++++++++++*-...................:-++****=...::-++*#%%%#++++++++++++++++#++++#++++++#%%%%@*++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++*@*+*##%*+#*+++++++++++++++.......................:::::-+#%%@@@@@@@%%*++++++++++++++**++++#+++++*%%%%%%@*+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++%@@*+*%%%*+*#++++++++++++++*---=======-:...............:%@@@@@@@@@@%%%*++++++++++++++**++++#*++++#%%%%%%%@#++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++%%%%*+#@%%#++**+++++++++++++*%@@%%%%%@@@%-..............:@@@@@@%#*+#***+++++++++++++++#+++++#*+++*@%%%%%%%%@%+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++#@%%%%*+%%%%%+++*#++++++++++++*@@@@@@@@@@@@=..............:#%#*=-::.:*+++++++++++++++++*#*++++#*+++#@%%%%%%%%%%%%*++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++%%#%%%%%#*%%%@%++++#*+++++++++++#@@@@@@%%%%%%=...............:::......=++++++++++++++++++*#*++++**++*%*@%%%##%%%#=%#++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++%*=*%%%%%#%%%%%+++++*#*+++++++++*##---:::::::........................:*+++++++++++++*++++##**+++#*++#*+%%%%*+%%%#*%*++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++##**%%@@%@%@+#*+++++*%#*+++++++++*=.................................+*++++++++++++*#+++*###%*++#++*%+++@%%##%%#*%*+++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++*%#*%%%%@@*+#*++++*#**#%#*******#+................................=*++++++++++++#%*+++###%##++#++#*+++#@##%%%*##++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++*@%%%%@%++#*+++*#+++#**######=:................................=*+++++++++++*%%%*++##%%**#+*#++#+++++@%#%%#*@+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++@%%##@*+++#++*#+++*#+++++++#:................................=*+++++++++*####%#++*%%#++*#*#++**+++++*%#%%*##+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++%%@%%%%++++#+*#+++*#*+++++++%:...................::..:--......+########%##*++#%*+*#*++++*%%*++#+++++++%#@#+%*+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++%%*+%@+++++#+#+*#%%*++++++++%-...............:::-::--=-..........:::::+*+++++##+*#++++++*%*++##+++++++%#@**@++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++%%%+++++++++%%###**#++++++++*%+...............:::.....................:*++++++#**@#+++++++++++#++++++++%#%#@#++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++*%%*+++++++++%@%*++#*++++++++###+.....................................:**+++++###@%#++++++++++*#+++++++#%##+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++%#%++++++++++@%*++*#+++++++++###@#-..................................=%#+++++#@%%+#*++++++++++#++++++++#%##+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++*%%#++++++++++%*++*#+++++++++*##%**#+:..............................-#@#++++++**%++#*+++++++++*#++++++++#%##+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++##%++++++++++*%+++#*+++++++++*@%#+++#%=:..........................-*%#%*+++++++*@++**+++++++++#*++++++++####+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++*%##+++++++++*@%++*#++++++++++%%@++++++##=:.....................:=#%#+#*++++++++*%++*++++++++++%+++++++++@###+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++##%*+++++++++%%#++#++++++++++*%++++++++++##+-:...............:-+%#*+*%#+++++++++##++#+++++++++*%+++++++++%###+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++*%#@+++++++++#%##+#*++++++++++*@++++++++++++*%#*+=-:.....::-=+**#@@@@@#++++++++++%#++%+++++++++##*++++++++%#%#+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++####++++++++*@#####++++++++++*##+++++++++++++++##@@%#*++==*##****%@%%%*++++++++++%+++%++++++++*###++++++++%*%#+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++%#%*++++++++%#####+++++++++++*%#++++++++++++++++++*%@**#**#**+***%%%%*+++++++++++@+++#++++++++####++++++++#*%*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++*##@++++++++#%#*#%*++*#**++++*#%*++++++++++++++++#%@@%****#*+**#%#%%%#+++++++++++*#+++#+++++++*#*##+++++++##*%++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++%##%+++++++*@#**##++#%#**++++*#%++++++++++++++*#@@%%@###*****#%%#@%%#+++++*++++++##+++#+++++++*#**%+++++++###%++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++%*%*+++++++@#**##++#%#***+++**#@++++++++++++*%@@%%%%%##*######%%#@%#*++++**++++++%#+++#+++++++#*#*%+++++++%*#%++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++###%+++++++%%***%*+#%%****++***#%+++++++++++*@%%%%%%%%%%%%###%##*#%%*++++***+++++*@#+++#++++++*#***##+++++##*##++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++%###++++++%%***##+####****++***##+++++++++++#%%%%%%%%%%##*##*****%%#++++***++++++*@#+++#++++++##***#%+++++#**##++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++#*##+++++#%#***%+*%*##****+****%#++++++++++*@%%%%%%%%%%*++###*++#%%*++*****++++++#@#+++#++++++##****%++++*%**%+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++##*##++++*@#***##+%#*%#****+****%#++++++++++%#%%%%%%%%%%#*##**##*%%*++*%#****+++++#@++++#+++++*#*****##+++%#*#%+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++%#*%*+++*@#****%*###*%#####*****%#+++++++++%#*%%%%%%%%%%%%#*++*#@%#++#%%#****++++*#@++++%+++++*#******%++*%**##+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++%**%+++*@#****##*%*#*%#%+*#%##%%%#++++++++%%**%%%%%%%%%%%%*+++*#%%++#%%%*****++++##@++++%+++++#*******##+##**%#+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++%**%++*@#*****#%%#*#*%##..:-*%@@@@#++++++#%*#%%%%%%%%%%%%%*+++#%%*+#%%%#*****++++##%++++*++++*#********%+%**#%++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++##*#%+*@#******#@%**#+#@*..--:=%%%%@@#+++*%**#-:-*%%%%%%%%%#++*%%%+#%%%%##****+++*###++++*++++*#********%%#**#%++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++##*##*@#***#***#@#**#*+#*..=-.:#%%%%%@++*%**#+....-*#%%%%%%%**#%%**%%#%%#*****++*#*%#++++#*+++##********##**#%*++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++##*#%@#********#%#**#*+%+..-=-+%%%%%%@**%***#+......:=#%@@@@##%%%*%%%%%%***##%%%%#*%#++++#*+++#*************#%+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++@#*#%#**************#+#%=...-+#%%%%%%@@%******.........=#%%%%@@@%%%%%%%%##%%##*****%+++++##+++#*************%*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++@#******************%*%#+...:*%%%%%%%%##*****#-........:*%%%%%%%%@%%%%%@%#*********@*++++*%++*#************#@++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++@#******************%%*##...+%%%%%%%%%*##******....:...-#%%%%%%%%%@%%%##***********@#+++++%++*#***********#%#++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++@#*****************#@%+*%:.-#%%%%%%%%%**##****#=.:::...*%%%%%%%%%%###%*************%#+++++%*+*##***********#@++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++%@#*****************#@*+%@+:*%%%%%%%%%#***##**##+.:....=%%%%%%%%%%%#**##***********###+++++##+##*************%#+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++%@#******************##+#@%%##%%%%%%%%%#****###*::.....:*%%%%%%%%%%%#****###********#*@+++++*%+##*************#%*++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++*%#******************#%+*@%%%%%%%%%%%%%%*******##+-:....=%%%%%%%%%%%%*******#####****#*@++++++%*###*************##++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++*@##******************#%+@%%%%%%%%%%%%%%%*********###=:.:#%#%%%%%%%%%%****************#*@++++++%####**************#%+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++@#********************%*#@%%%%%%%%%%%%%%%***********#@#+*%%%%%%%%%%%%#******************%++++++*%###**************#%%++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++%%********************#%*@%%%%%%%%%%%%%%%#********#**%%%%%%%%%%%%%%%%%****************#**%+++++++@###**************##%%+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++*%#********************%#@%%@%%%%%%%%%%%%%#*********##%%%%%%%%%%%%%%%%%****************#**%+++++++%%#*****************#%#++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++@#****#***************#%%%%@%%%%%%%%%%%%%%**********%%%%%%%%%%%%%%%%%%#****************#**%*++++++*@#******************#%#+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++##****%%***************#@%%@%#%%%%%%%%%%%%%**********%%%%%%%%%%%%%%%%%%*****************#**##+++++++%%*******************#%%++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++*%#***#@#***************%@%%%#%%%%%%%%%%%%%#**********%%%%%%%%%%%%%%%%%%********************##+++++++*%#*******************#%#+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++%#***#@%***************#@%%%%%%%%%%%%%%%%%%**********#%%%%%%%%%%%%%%%%%#****************#***##++++++++@#********************#%#++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++*%#***%@#**************#%%%@%%%%%%%%%%%%%%%#**********%%%%%%%%%%%%%%%%%%*****************#***##++++++++%#***##****************#%#+++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++%#***##@#**************%%%%%%%%%%%%%%%%%%%%**********#%%%%%%%%%%%%%%%%%#*****************#***##++++++++#%***#%#****************#%*++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++*%#**#%*%***************%%#%%%%%%%%%%%%%%%%%**********%%%%%%%%%%%%%%%%%%*****************#****##++++++++#%***#@%*****************#@*+++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++%#***###%***************#@%%%%%%%%%%%%%%%%%#*********#%%%%%%%%%%%%%%%%%%*****************#*****#++++++++*%***#%%#*****************#%+++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++@#**#%+#%***************%%%@%%%%%%%%%%%%%%%**********%%%%%%%%%%%%%%%%%%#*****************#*****#+++++++++%#**##%#************#*****#%++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++#%***#%+#%**************#%*+%@%%%%%%%%%%%%%#*********#%%%%%%%%%%%%%%%%%%*****************##*****@+++++++++%#**#**%#******************#%+++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++%#***%*+#%*************##@+++*@%%%%%%%%%%%#**********%%@%%%%%%%%%%%%%%%#*****************#******@+++++++++%#**##+%%*******************%%++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++@#**#@++#%**************#%++++*%@%%%%%%%%%**********#@%%%%%%%%%%%%%%%%%******************#******%+++++++++%#**##++@#******************#%*+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++%#**##++#%**************##++++++#@%%%%%%%#***********%%%%%%%%%%%%%%%%%#*****************##******%#++++++++%***##++*%#******************#%+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++#%###%#++*%#*************%#+++++++*%@@@%@%#*************#%%%%%%%%%%%%%%******************%*******%#++++++++%#*#%++++#%******************#@*++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++#%###@++++@#*************%*++++++++++*###%@%#************#%%%%%%%%%%%%******************##*******#%++++++++%**#%+++++%###****************%#++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++#%*##@++++%#*************%+++++++++++++++++#@%#***********#%%%%%%%%%%%#****************##********#@+++++++*%**#%++++++%#*****************#%++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++#%*##@++++#%*************%+++++++++++++++++++*%@%#********%**##%%%%%@%%%#*************#%**********%%++++++##**%*++++++*%#****************#@++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++#@##%@+++++@#************%++++++++++++++++++++++#%%%##***%#******###%%%%##%%%#######%%#************@#+++++@#*##++++++++*%****************#@++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++@##%@+++++#%***********#%*+++++++++++++++++++++++*#@@@%%#**********#%%%%%%%%%%%*******************#@*+++*%##%*+++++++++%%#**************#@++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++#%##@++++++@#**********#%#+++++++++++++++++++++++++++%@#************%%%%%%##%%*********************%%+++%%*#%+++++++++++%#**************#%++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++%%#@++++++*%***********%#+++++++++++++++++++++++++++@#***#*********#%%%%%%%@%*********************#@++*@###+++++++++++++%#*************%#++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++%%@*++++++%%**********#%++++++++++++++++++++++++++%#***#%*********##*%%%@#%%*********************#%++@##%++++++++++++++*%#************%*++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++*@%*++++++%%*********#@+++++++++++++++++++++++++%%***%@#********###****###%*********************%#+%%#%*+++++++++++++++%%***********##+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++#@+++++++%%#*******#%#+++++++++++++++++++++++#%*#%%%%*********##*#****#*%#************#*******%%%%%%++++++++++++++++++@#*********#%*+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++%@#*******#@++++++++++++++++++++++*@#%@%%%%********###*#****#*##************%********%@%*+++++++++++++++++++#%#********%#++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++*%%#*****#%#++++++++++++++++++++*@%%%@%%%#********####*****#*##***********#@#********@*+++++++++++++++++++++@#*******#%+++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++#@%##***#%+++++++++++++++++++#@%##%%%%%#*********#*#*****#*##***********%%%********#@+++++++++++++++++++++#%#*****#%++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++#%@@%%%@@*+++++++++++++++#%%%###%%#%%********#*#*#*****#*#************%%%%********%#++++++++++++++++++++#@#****#%*++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++*#####*+++++++++++++#%%######%%#%%********####******#*#***********#%%%%%#*******%+++++++++++++++++++++@#***#%#+++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++#%%########%%#%%*******#*#*#******#*#***********%%%%%%%#******#%++++++++++++++++++++@#**#%*++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++#@%##########%%##%********##*#******#*%*#********#%%%%%%%%#******%*++++++++++++++++++*@#*#%#+++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++#%%############%%#%%%*******##********#+%*#********%%%%%%%%%%%*****#@++++++++++++++++++#%##@#++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++#@%##############%%#%%%#******#**********+%*********#%%%%%%%%%%%%#****%%+++++++++++++++++%%%@*+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++#@%################%%#%%%%#****##+*********+%********#%%%%%%%%%%%%%@#****%*+++++++++++++++*@@%*++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++#@%###################%#%%%%%%***##+*********+#*******#%%%%%%%%%%%%%@#%%***#@++++++++++++++*@@*++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++*%%#####################@%%%%%%%%*#%***********+##*****%%%%%%%%%%%%%%%@#+*%#**%#++++++++++++++#*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++*%%#######################@%%%%%%%%*#%***********+##***#**#%%%%%%%%%%%%%@*+++%#**#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++%@%#######################%@%%%#*+-+*##+**********+##*##=:.:-+#%%%%%%%%#%@+++++#%**%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++#@%########################%@@%+-:..:+*##+#*********+##*+:......:=*%%%%%%%%%++++++*%#*%#++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++#@%#########################%%*#+.....-+#%*++##******#+##+-..........=#%%%%%@*+++++++*@#*%%+++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++*%@##########################%%++#+.....=*%%++::=*##%%%@+##*-...........:+%%%%@++++++++++%#*#%++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++*@%##########################@%+++#+....:+*%%++....:-+@#%*##*-.............-#%@*+++++++++++%#*#%*++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++#%###########################%#++++#+....-+#%#++......=#+@*##*=..............-@#+++++++++++++%#*#%*+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++*%%###########################%%+++++#+....=+#%#+=......=#*%+#%*=..............-%++++++++++++++*%**#@*++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++*%############################%*++++++*+....++%%#*-......=##++#%*=..............+*+++++++++++++++%%***%*+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++*%#%###########################%*+++++++++...:+*%%**:......=#%=+#%*=.............:#+++++++++++++++++@#***%*++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++*%#%###########################%*++++++++++...-+#%#+*:......+%*=+#%*+.............+#+++++++++++++++++#@#***%*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++#%*############################%%++++++++++*...=*%%%**.......+%-=+#%**.............#+++++++++++++++++++@%****%*++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++*##*#%##########################%%+++++++++++*...+***##*.......*%:==%%%#:...........=#+++++++++++++++++++#@#****%*+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++*%#**%##########################%%++++++++++++#...-*-#*++.......*+.*#@%**............#+++++++++++++++++++++@%*****%*++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++%#***###########################%@+++++++++++++#....*=-=*:.......#-.*+**+=...........=#+++++++++++++++++++++#%#*****%*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++##****%##########################@*+++++++++++++%...:#+-=*-......:#:.:*=-++...........*++++++++++++++++++++++*@##*****#*++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++*%*****%##########################%#++++++++++++++*:..=*===+*-.....:=...*+==*-.........-*+++++++++++++++++++++++%%#******#*+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++%%*****#%#########################%%+++++++++++++++*:..*=++=+#+.....:-..:#-==++.........*++++++++++++++++++++++++#%##******#%++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++##******###########################@*+++++++++++++++#-..*==#++*=.....-:..:*=*+#+........-#+++++++++++++++++++++++++@#%#******#%+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++##******###########################@#++++++++++++++++#=..++=**#+:.....-....*=+*+:........**+++++++++++++++++++++++++@##%*******#%++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++*##*******%#########################%%+++++++++++++++++#+..-****=.......-....:+++:........-*++++++++++++++++++++++++++%####*******##+++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+*%********##########################%@++++++++++++++++++#*...:--:.......:-................:#*++++++++++++++++++++++++++#%##%********##++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======*%*********%##%%%%%%%%%%%%%##########@*+++++++++++++++++++#..............-:................=%+++++++++++++++++++++++++++#%####********#%*++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-======+@#********#@@@@@@@@#####@@@@%@%%%###%%++++++++++++++++++++#..............-:...............-%*+++++++++++++++++++++++++++#@@%%%#*********%*+++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-======#%**###****%##+++++++++++++++*##@@@@%@*++++++++++++++++++++%:.............-................*#++++++++++++++++++++++++++++*##@@@%**********%*++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-======#%*#*+#****%++++++++++++++++++++++*#@%+++++++++++++++++++++%:.............:...............-%++++++++++++++++++++++++++++++++++#%#**********%*+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-======####==+#**#*++++++++++++++++++++++++++++++++++++++++++++++**..............................+#+++++++++++++++++++++++++++++++++++*%***********%*++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====+%*#+===#**%+++++++++++++++++++++++++++++++++++++++++++++++#-..............................*#++++++++++++++++++++++++++++++++++++%#***********%*+++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====+%#+====+##@++++++++++++++++++++++++++++++++++++++++++++++*#...............................*#++++++++++++++++++++++++++++++++++++#%************@*++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====+@#==-===#%%++++++++++++++++++++++++++++++++++++++++++++++#+..............:................=%+++++++++++++++++++++++++++++++++++++@#***********#@++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====+@+=-=*+=+%#++++++++++++++++++++++++++++++++++++++++++++++%-..............:................:%*++++++++++++++++++++++++++++++++++++#%************#%+++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====+#--+*##=-*%++++++++++++++++++++++++++++++++++++++++++++++#...............:.................+%+++++++++++++++++++++++++++++++++++++@*************%%++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====#+-=**%%+-=@+++++++++++++++++++++++++++++++++++++++++++++*+..............:*-................:%+++++++++++++++++++++++++++++++++++++#%*****#%******%#+++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====*+-++%%%=-+@+++++++++++++++++++++++++++++++++++++++++++++#-..............-%*.................*#++++++++++++++++++++++++++++++++++++*@****##+%*****%#+++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====#*=**@##==##+++++++++++++++++++++++++++++++++++++++++++++#:..............+#%=................-%+++++++++++++++++++++++++++++++++++++%#**#*=-*#****%#+++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=====+#=##%%===%++++++++++++++++++++++++++++++++++++++++++++++#...............#**%:..............:=#+++++++++++++++++++++++++++++++++++++#%##+====%****@*+++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-====+%%#==*+==*%+++++++++++++++++++++++++++++++++++++++++++++*=..............-#++%+.............-=:=+++++++++++++++++++++++++++++++++++++#@#+=====%****@++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-===*%+-#+*=-==##+++++++++++++++++++++++++++++++++++++++++++++#=..............*#+++#-..........:--:.-*++++++++++++++++++++++++++++++++++++%*=-==---#***#%++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-==##-.:*#==--+%++++++++++++++++++++++++++++++++++++++++++++++#==:...........-%++++**........:--:...-#+++++++++++++++++++++++++++++++++++#%======--#***%*++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=*#:.::=#==--*#++++++++++++++++++++++++++++++++++++++++++++++*.:-=--::......+#+++++%=.....:-=:....-+#*++++++++++++++++++++++++++++++++++#%===+##=-#**#@+++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-*%:...--+====%#+++++++++++++++++++++++++++++++++++++++++++++#+...:::-------=%+++++++#::::==:....-+++=*++++++++++++++++++++++++++++++++++#%==+#@#+-#**@#+++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-@-...::.:+==+%++++++++++++++++++++++++++++++++++++++++++++++#*=:.......::::*#+++++++**==-:....:=++=:.*+++++++++++++++++++++++++++++++++++%==*#%*+-#*#@++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::**....-...+#=*@++++++++++++++++++++++++++++++++++++++++++++++@*++=-:.......:#+++++++++#-....:-=+++-...-*++++++++++++++++++++++++++++++++++%==#@%*+-##@*++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::%:...:-...+@@@*++++++++++++++++++++++++++++++++++++++++++++++#-=++++==-----+#++++++++++*::-=++++-:....:*++++++++++++++++++++++++++++++++++%==#@##=-%@#+++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=#:...=::=.##*++++++++++++++++++++++++++++++++++++++++++++++++*..:==+++++++*%*++++++++++#*+++++-:.......*++++++++++++++++++++++++++++++++++%==**#+-=@#++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::*%*..:+.-+:#+++++++++++++++++++++++++++++++++++++++++++++++++#+.....::-====+%++++++++++++%+=-:..........=*++++++++++++++++++++++++++++++++#%===*+*-*@+++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=@%-.-+.:*=%+++++++++++++++++++++++++++++++++++++++++++++++++#=............=#++++++++++++*+.............:*++++++++++++++++++++++++++++++++#%===+*#*@*+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::=%%*##**%%*+++++++++++++++++++++++++++++++++++++++++++++++++#:...........:**+++++++++++++*-.............*++++++++++++++++++++++++++++++++##====#%%*++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#:...........-%+++++++++++++++*.............=#+++++++++++++++++++++++++++++++##==-=%*+#++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++#:...........+#+++++++++++++++*=............:*+++++++++++++++++++++++++++++++#*===**--%++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++*:...........#*+++++++++++++++*#-............*+++++++++++++++++++++++++++++++%*==*=:-:%++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++:..........:%+++++++++++++++++#+............=*++++++++++++++++++++++++++++++@*+*-::+:#*+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++#+:..........=#++++++++++++++++++#-...........-#++++++++++++++++++++++++++++++@@#:.:-+:*#+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++#+...........*#++++++++++++++++++*#:...........#+++++++++++++++++++++++++++++++%*..--*.*#+++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++#=..........:#++++++++++++++++++++%+...........*++++++++++++++++++++++++++++++*#:..+-+.#++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++#-..........:@++++++++++++++++++++*%-..........=#++++++++++++++++++++++++++++*#-=::=+--%++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++%-..........=%+++++++++++++++++++++%*..........-#+++++++++++++++++++++++++++#%=+*.==+:*#++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++@-..........+#++++++++++++++++++++++@-.........:%++++++++++++++++++++++++++#@%%@=:#%**#+++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++@-..........*#++++++++++++++++++++++%+..........##++++++++++++++++++++++++++*##@-+%*%%++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++@-..........+#++++++++++++++++++++++#*..........#@++++++++++++++++++++++++++++#@##++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++#@-..........+#++++++++++++++++++++++#*..........#@#+++++++++++++++++++++++++++*#++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++#@-..........+#++++++++++++++++++++++#*.........-%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++#@+:-=====-::*#++++++++++++++++++++++%*.:::::..:#%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++@%%#%%%%%%%%#%#++++++++++++++++++++++@%*##%##***%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%@#+++++++++++++++++++++#@%%%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%@#+++++++++++++++++++++#@%%%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%@*+++++++++++++++++++++#@%%%%%%%%%%%%@%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%@@+++++++++++++++++++++++%@%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++%@@%%%%%%@@@*++++++++++++++++++++++++%@@%%%%%%%@@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++*######*++++++++++++++++++++++++++++++########*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.........................::::::::::::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=................................. +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::-------------------------------------------------------------------------------------------------------------------------------------------------------------------------................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................:::::::-------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................-------- +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................:::::-=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#*=#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................:::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%*--=#**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................:::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%*===-=*%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................:::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%+-=#*===*%######***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**##@*--+##+===*%%%%@@@@@###**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**#%@@@%+--=##**===-+%%%%%%%%%%@@@##**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++**##%@@%%%%*--==##-=-===-+%%%%%%%%%%%%%%@@##*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++**#%@@%%%%%%%*-====##=-=====-+%%%%%%%%%%%%%%%%%@##**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++**#%@@%%%%%%%%%#======##=-======-+%%%%%%%%%%%%%%%%%%%@%#**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++**%@@%%%%%%%%%%%#=======*#+--======-+%%%%%%%%%%%%%%%%%%%%%%%#**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%=-=====-+##*+=-======*%%%%%%%%%%%%%%%%%%%%%%%@%#**+++*#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%%==========+*###+=-=====#%%%%%%%%%%%%%%%%%%%%%%%%%@%#**%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%#============+#%#+--====%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%========*##*=*%%#*=====%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%+===-==*%###==#%#+====+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%*===+=+##=**==##+====-*%%%%%%%%%%%%%%%%%%%#***%%%%%@@%%%%%%@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%#===+##%*=+==*#+**===-#%%%%%%%%%%%%%%%%%%#****#%%%@@%%%%%%%%%@%*+++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++*%%%%%%%%%%%%%%%%%%%%%===-+###+==+##*#*====%%%%%%%%%%%%%%%%%%%******%%%@@@@@@@%%%%%@*+++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%+=====*%#==*%###+====%%%%%%%%%%%%%%%%%@#******%%@@@@%%%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%*======*#**###*=-===+%%%%%%%%%%%%%****%******#%@@%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%#=====-=*%##*+=-===-*%%%%%%%%%%%%*****##*==**%@@%%%%%%%%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%=-====-+#%*========#%%%%%%%%%%%%*+****#+:-+#@@%%%%%%%%%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%+-======##+========%%%%%%%%%%%%%#***+-=-:-*%#*#%%%%%%%%%%%@%*++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++*%%%%%%%%%%%%%%%%%%%%%*-=====-*#+=======+%%%%%%%%%%%%%%#**+-:::--=+**#@%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%%--====-+#========*%%%%%%%%%%%%%%%%#*=:::::-+***%##%%%%%%%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%@@@%=-======#========%@@%%%%%%%%%%%%%%%*=::::+*****%*%@%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++*@%%%%%@@@@@@@@@@@@@%%+-======*======-=%@@@@@@%@%%%%%%#**+--=-:=*%#*##*##%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++*#%@@@@@@%@@%@%%@%%%%%%@#-======+======-+@@%%%%%%%%%%%@%****++*=-+*#%%#****%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++*#%@@%@@@@@@@@%%%%%%%%%@@@%%=----==========#@@@@@@@@@%%%%@#********+***%****#@@%%%@@*++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++**#@@%%%%%%%%%%@@@@@@@@@@@@@@@@#####%##%%%%%%%@%%%%%%%%@%%@@@#*****%@*****#*****%@@@@@@@#**+++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%#**#@##%%##@@@@%%%%@%#*+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%@%%@%%%%%%%%%%%@%#*+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++*##@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%#*++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++**###%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#####*%%###****++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++***#@**%##%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########******+**+++++##+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++#%+**+#*++++******########%#####################%#########***#****++++++++++++++++*++++++%*++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++##+#+*#+++++++++++**++++++#*++++++++++++++++++++*#+****#*++++#++++++++++++++++++++**+++++##++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++*@***+#*++=++++++++**++++*****+++++++++++++++++++**##*****++++#*++++++++++==++++++++*+++++*%*+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++*%**++#++=-=+++++++#*++*##%**##*+++++++++++++++++++**+++++++++#*+++++++++=-=++++++++**+++++@*+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++#%#++**++--=+++++++#+++++**--**++++++++++++++++++++-*+++++++++**+++++==++--=+++++++++*+++++%#+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++#%*++#++=-=++=+++++#+++++*=:-+++++++++++++++++++++*-=*++++++++**+++++=-++--=+++++++++**++++##+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++##+++#++=-=++=+++++*+++++#-::=*+++++++++++++++++++*--=*+++++++**+++++=-++=-=++++++++++*++++*#+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++*%*++**+++++++++++++*++++*+:::-+++++++++++++++++++++=:-++++++++**++++++=++=-=++++++++++**+++*#+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++*%*+++*++++++++++++++*++++*-::::=++++++++++++++*++++++::-+++++++**+++++++++++++++++++++++**++*@*++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++##++++#++++++++++++++*+++*+:::::-++++++++++++++#++++++-::-*+++++**++++++++++++++++++++++++*++*@*++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++#%++++**++++++++++++++*+++*:...:::=*++++++++++++##+++++=:::-*++++**++++++++++++++*++++++++++*+*@*++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++#%*++++**++++++++++++++*++++.......:+++++++++++++#%*+++++-:::-*+++**++++++++++++++*++++++++++***#+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++#%*+++++**++++++++++++++*++*-........:++++++++++++*##++++*=++*#%@%%%*+++++++++++++*#+++++++++++*##+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++#%*++++++*+++++++++++++++*+++..........-++++++++++++#+####%@@@@@@@@@@%*+++++++++++++#++++++++++++%#+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++#%*+++++++*+++++++++++++++**#++++++++++==*+++++++++++*#@@@%%%@@@@@@@@@%%*+++++++++++**++++++++++++*%*++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++#%*++++++++*+++*+++++++++++*#@@@@@@@@@@@@@@*+++++++++++%@@@%@%@@@@@%*-#%#*+++++++++++**+++++++++++++*#*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++**%*+++++++++*+++#+++++++++++*@@@@@%%@@@@@@@@#++++++++++*%%+-+@@@%%%%%#-*#*++++++++++++**++++++++++++++*%*++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++*#%#+++++++++++*++*%*++++++++++*%%=--:-%%%%%%%%+-=++++++++***=.#%%%*+%%%#=*#+++++++++++++#++++++++++++++++*#**++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++*%%*+++++++++++**++*%*+++++++++++#*....=%%%#%%%#...=++++++++++*+%%#*--**%%***+++++++++++++*+++++++++++++++++*%%#**+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++#@%*+++++++++++**++###+++++++++++*#....*%%#:*%%#:...-++++++++++#%%+...:=#%#++++++++++++++**+++**++++++++++++++#%@@*++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++*##@%##********#*++#+#++++++++++++#-...#%+-.-+##:.....:=++*****##*+:..-++#*++++++++++++++**+++###*++++++++++++*%@#*++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++**###@@@@%#%**+**+*#+++++++++++*:...##+:..=**:........::::::=+==:.:-==#*++++++++++++++#*+++*#**#***+++++**#%@%***+++**##*+++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++*+++++++*%@%#%%**+#*++#*++++++++++*-...*++:..==+:..............-+==--===+#+++++++++++++++#*+++*#+++*****#%%%%%%%@@@%###%@@@*+++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++##****#%@@%##%%*#+%++++#++++++++++++...*==-=-==*:..............:*==-::-=*#++++++++++++++*#*++++#++++++*+#%%%%%%%%%%%%%#*%%#*+++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++#@%@@@@@%%%#%%%##*%++++*#++++++++++*-..++==--==+:...............*=:::::=%*++++++++++++++##*++++#+++++*%+#%%%%%%%%%%%%%+*%*+++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++*#=%%%%%%%%%%%%#*#%+++++*#*+++++++++*:.-*-:::-=+................==----=***++++++++++++++##**+++#*++++*@**@%%%%%%%%#%%*#%*++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++*%+%%%%%%%#%%%@#+*%+++++###*++++++++++:.+-----+=.................-----+*+++++++++++*+++*#*##+++**++++%%**@@@%%%%%##%*#%*+++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++*%#%%%%%%%%%%%%%++*+++*#*++##**++++++*#+-:--==-.....................:+*+++++++++++#%*++##*%%+++**++++%%#*##%@%%%%%%*#%*++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++*%*%%%%%#%%@#*%+++++*#*++*#+**###%*++-:..........................:***++++++++**#%%%*+##*#%#*++#*+++*##%*@**#%@%%%##%*+++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++*##%%%%%%@#+*%+++++#*+++#*++++++#-..............................:+##***#*####**#%#+*#**%**#++#++++##*%*%*++*#%@%%%*++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++*%%%#%%@%#++*%++++#*+++**+++++++#=.......................::........:--+#*++++++#%**%#*#%+*#+*#++++#*+#*%*++++**##*+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++*#@%%@%*+++*%+++*#+++**+++++++*%*...............::--:::--:...........+++++++++*%#%#*#%*++#+#*++++%*+*###++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++%@%*+++++*%+++%++*%#++++++++*#%=..............::..................:*++++++++%@%**#%%+++#*#++++*%*+*###++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++#@%*++++++*%++#**%@%+++++++++####*:................................-*++++++++#####%%%+++%%*++++*#+++##@*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++#%%*++++++*%++##%%%*++++++++*##*#%%=..............................=#+++++++++*##%%#*@*++**+++++*#+++*%%*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++*%%#+++++++##+*%%#%#+++++++++##*#%%*##=..........................-*@#+++++++++*@@#*++##+++++++++#*+++*%%#+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++*%#%*+++++++##++%###++++++++++###%#*++*##=:.....................-*%#@*+++++++++*#*++++#%+++++++++#*++++*%#+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++*%%#+++++++*%*+*###*+++**++++*%#%#*+++++*##*-:..............::=#@%*#%++++++++++*#+++++*@*++++++++%*++++*%@*++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++*%#@*+++++++*@*+###*++***+++++#@%@*++++++++**#%*=-:......:-=+***#@@@%*++++++++++*#+++++*@#++++++++%*+++++#%#++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++##%#++++++++*%*####+++***++++*%#@#++++++++++++*#%@@#+---=*#**++*%%%%%+++++++++++*#++++++%%++++++++#*+++++*%@*+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++*%#%*++++++++#%####+++****++++*%**+++++++++++++#%@@@%*#+-=#*++**#%%%%*+++++++++++**++++++#@*+++++++#+++++++#%#+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++#%#%*+++++++#%##*#*++****+++++##++++++++++++*#%@@%%%#**#*#*+*#%#%%%%%*+++++++++++#*++++++#@#++++++*#+++++++*%@#++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++*@#%#+++++++#@#**#*++##****+++*%#++++++++++*#%@@%%%%%#%#*#**##%#@%%%%#+++++*++++++#*++++++*@#*+++++*#+++++++*@%%++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++*%#%*+++++*#%#**##++*%#****+++#@*+++++++++#@@%%%%%%%%@#*######%%%%%%%*+++++**+++++%*++++++*@##+++++*#++++++++#%@*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++###@*++++*%%#***#*++%#####*++*#%*++++++++*@%%%%%%%%%%%%########%%%%%#+++++***+++++%*++++++*@##*++++*#++++++++*%%#+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++*%###++++*%##***##++#@#%#++*#*#%@%*+++++++#@%%%%%%%%%%%#+******%%%%%%*+++++***+++++%*+++++++#%##++++*#++++++++*@%%*++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++#%*##+++*%#*****#*+#%%*%=...-*%+=@*++++++*%#%%%%%%%%%%%#+*#**+#%%%%%#+++++****++++*#++++++++#%*#*+++*#+++++++++%%@#++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++##*%#++*%#*****#%+*%%#*%-....:+:-@*+++++*%%*%%%%%%%%%%%%##***#%%%%%%*++++##***++++##++++++++*%#*#*++*#+++++++++#@%%*+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++*%**%#+*%#******##+##%#*%=.....:.:%#*++++#@**%%%%%%%%%%%@%*++*%%%%%%#++++*%#*##*+++#*++++++++*@#**#*+*#+++++++++*%%@*+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++*%**%**%#*******#**%#@#*#+.....:..*@@*++*@#**%%%%%%%%++*##*#%@%%%%%%*+++*%%#**#*+++%*+++++++++##***#**%*+++++++++#%%#+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++*%**%@%#********%*%#%%#*#+....::..=%@%**%%***#%%%%%=:....-#%%%%%%%%#+++*%%%*****++*%*+++++++++#%****##@*+++++++++#%#@*++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++##**%#**********%#%%##%##:....-:..:%%@%#%****#%%%%*.......-#%#%%%%@#++*%%%#*#***++#@*+++++++++*@#****#%**++++++++*%#@#++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++##*##***********#@%%*#%#*.....-:...*%%@@******%%%%*........=%%##%%%%%#%%%%#*#****+%@*+++++++++*%##****##@#*++++++*@#%#++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++##*#************#%%*+*@%+.....=:...*%%%@******%%%%#:........+@%#%#%%%%%%%%********%@*++++++++++#%#******#%%#*++++*@##%*+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++##***************#%*+*#@#.....=-...+%@%%%*****%%%%%=........:#%##%%%%%%@%#***######@*++++++++++*@#********#%%*+++*@##@*+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++*%#***************%*++++#%:....::...-%@%%%#***##%%%##:........=%##%%%%%%@@####%%%%@#@*++++++++++*%#**********#%#*+*@##@*+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++*#%#***********#***#%*++++*@*:...::....*%%%%%***##****#=........+%##%%%%%%%%%%##******@*+++++++++++#%#**********#%%**@##%#+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++*#%*****************%#++++*%%%*:.......:#%%%%%#**##****#+..::....*%##%%%%%%%*#*********@*+++++++++++*@#************#%%%##%#+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++*%****************##@*++++*@%%%#-......+%%%%%%%***#****#-.......:#%##%%%%%%%**#********@*++++++++++++#%#************#%%**%#+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++*##*****************%#+++++#%#%%%#:....:#%%%%%%%***#****##*-.....-%%%%%%%%%%#**##*******@*++++++++++++*@#*************####%#+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++*##*****************#%*++++#@%%%%%%+....+%%%%%%%@***%******%%=....=%%%%%%%%%%#***##******@*+++++++++++++##***************##%#+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++*%#******************##+++++%@%%%%%%#-..:#%%%%%%%@#**#******%%%=...*%%%%%%%%%%*****##*****@*+++++++++++++#%#*************#*#%#+++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++*%#*******************%*++++*@%%%%%%%%#:.+%%%%%%%%%#**#*****#%%%%*=-#%%%%%%%%%%******%#****@*+++++++++++++*@#****************#%#*+++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++#%#******************##%*++++#@%%%%%%%%%*=#%%%%%%%%%#**#*****#%%%%%%%%%%%%%%%%%%*******%****@*++++++++++++++#%*****************#%%*++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++*%#********************##++++*%%%%%%%%%%%%%%%%%%%%%%*##*##****%%%%%%%%%%%%%%%%%%%*******#%***@*++++++++++++++*@#******************##*+++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++*##*#******************#%*++++#@%%%%%%%%%%%%%%%%%%%%#**%*##****%%%%%%%%%%%%%%%%%%#************@*+++++++++++++++#%******************#%%*++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++##*********************#@*++++%@%%%%%%%%%%%%%%%%%%%%****%*#***#%%%%%%%%%%%%%%%%%%#************%*+++++++++++++++#%#****************##*#%*+++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++*%#*********************##++++*@%%%%%%%%%%%%%%%%%%%%#****###***%%%%%%%%%%%%%%%%%%%*************%*+++++++++++++++*@#********************#%*++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++*##*********************#%#++++#@%%%%%%%%%%%%%%%%%%%%******##**#%%%%%%%%%%%%%%%%%%%*************%*++++++++++++++++#%*********************#%*+++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++*%#**********##**********#@*++++%@%%%%%%%%%@%%%%%%%%%#*******#**%%%%%%%%%%%%%%%%%%%%*************@*++++++++++++++++*%#*********************#%*++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++*%*##*******#%#**********#%*+++*@%%%%%%%%%%%%%%%%%%%%********##*%%%%%%%%%%%%%%%%%%%#*************@*++++++++++++++++*%#**********************#%*+++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++##**********#%***********%#++++#@%%%%%%%%%@%%%%%%%%%#********###%%%%%%%%%%%%%%%%%%%*************#@*+++++++++++++++++#%***********************#%*++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++*#***********#@#*********#%#+++*%@%%%%%%%%%%%%%%%%%%%*********#%#%%%%%%%%%%%%%%%%%%%*************#@*+++++++++++++++++*%#***********************#%*+++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++*%#***********%%#*********#%*+++*@%%@%%%%%%%%%%%%%%%%**********%#%%%%%%%%%%%%%%%%%%%#*************#@*+++++++++++++++++*@#************************#%*++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++*@#***********%%%*********#@*+++*@%%%@%%%%%%%%%%%%%%#*********#%*%%%%%%@%%%%%%%%%%%%**************%@*++++++++++++++++++##*************************%%++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++*@#**********#%*@*********#%*++++#@%%%@%%@%%%%%%%%%%**********##*%%@%%%%%%%%%%%%%%%#**************%%#++++++++++++++++++#%**********#%%#************%*+++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++##***********%*%#********##++++++#@%%%@@%%%%%%%%%%#***********%#%%%@@@%%%%%%%%%%%%***************%%#++++++++++++++++++*%***********%%%%#**********#%*++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++#%**********##+#%********##+++++++#@%%%%%%%%%%%%%%************%#*%%%%%%%%%%%%%%%%#**************%###++++++++++++++++++*@***********%@*#@##*********#%++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++*%#*********##+*%#*******##++++++++#@%%%%%%%%%%%#*************%***%%%%%%%%%%%%%%%*************#%#**%#+++++++++++++++++*%#**********%@*+#%%#********#%#+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++##*********##++#%******###+++++++++#%@%%%%%%%%%#************#*****%%%%%%%%%%%%%%###*********#%#***#%#*++++++++++++++++##**********%@*++*#%#********#%+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++#%*#********#++*%#******##++++++++++*#@%%%%%%%@#************%*******%@@@%%%%%@%%@##%%%##***#%*******@*++++++++++++++++##**********%#+++++#@#*******#@+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++*%##******#*%*++*%#*****##++++++++++++#@@%%%%@@%***********##*******#%%%%%@%@%#%%*****##%%%%*******#%*++++++++++++++++##*********#%#++++++#@#******#%#++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++*%#********%*+++#%*****#@*++++++++++++*%@%%@%*%@#*********%*********%%%%%%%%#%%#******************%#+++++++++++++++++#%*********#@#+++++++#@%******%#++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++*%#********%*++++#%****#%*+++++++++++++*#@@%*+*#%%#*****#%#*********#%%%%%%%%%#*******************%%*++++++++++++++++#%*********#@*++++++++#@%*****%#++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++*%#*******#*++++*%#****%#+++++++++++++++##*++++*#@%###%@%*#**********%@%%%@%%**************#******@#++++++++++++++++#%********#%%++++++++++*@#****%#++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++#%#******##+++++*%#***#%*+++++++++++++++++++++++*#@@@%@*##**********#%#%*%*@**************%#*****#@*+++++++++++++++#%********#@#+++++++++++#%#*##%#++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++*%###****##++++++*##**#%#+++++++++++++++++++++++++***%%*%#**********%#*#*#*%#************#@%******%#+++++++++++++++##*******#%#+++++++++++++#%#*#%#++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++#%###***#%*++++++*%####@*++++++++++++++++++++++++++*@*#@***********%##***##%************%%%******#@*+++++++++++++*@#******#%%*+++++++++++++*@#*#@+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++#%#*****%*+++++++*%%##%%*++++++++++++++++++++++++*%%#%%**********#%*#***##%************%%%*******@#+++++++++++++*@#*****#%%*+++++++++++++++#%*#%+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++#%#****##++++++++*#@%#%%*+++++++++++++++++++++++#@%%%%**********%%*#***##%#**********#%%%#******%#+++++++++++++#@*****#%%*++++++++++++++++*@#%*+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++#%%#**#%*+++++++++*#@@@@#***++++++++++++++++++*%@%%%#*********#%#*#***#*%#**********%%%%#*******@*++++++++++++#%***#%@#*++++++++++++++++++#%@++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++**%%##%#+++++++++++***#%@@@*+++++++++++++++++#@@%%%#*********%%******#*%%*********#%%%%%*******%#+++++++++++*@###%@#*+++++++++++++++++++*@@*++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++**#%%@#*+++++++++++++****+++++++++++++++++*%%%%#%#*********%#+*****#*#%*********%%%%%%#******#%*+++++++++*%@%@#**++++++++++++++++++++++*++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++**#%*+++++++++++++++++++++++++++++++++*%%#%%#%#********#%#+*****#*##********#%%%%%%#*******%#++++++++*@@%#*++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++*+++++++++++++++++++++++++++++++++*%%##%%#%%********%%*******#*##********%%%%%%%%*******#%*++++++++**+++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%%###%%#%%*******#%#+#*******%##******#%%%%%%%%#*******%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++*#@%####%%%%%#******#%#+#*****#*%##******%%%%%%%%%%*******#@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++*%@######%%%%%%*****##%+*********###*****%%%%%%%%%%%%*******%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++#%%#######%%%%%%*****###+#********##*****#%%%%%%%%%%%%%*******%%#**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++#@%########%%%%%%%***#*#*+#********##****#%%%%%%%%%%%%%%#******#@@@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++*#@##########%%%%%%%#***##+**********##***#%%%%%%%%%%%%%%%%#******#*###%##**++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++#%%###########%%%%%%%%#**##=#*********##**#*++***###%%%%%%%%%#*****##*****#%@##*+++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++*#@%#############%%%%%%%%*##++#*********##*#+......:-+#%%%%%%%%@#*****#*******#%@@#*+++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++*%@%##############%%%%%#%#+##=##*******#*##++..........:=*#%%%%%@%#*****#*********#%%#*+++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++*%%################%%#+-:=+##*+*=*****%@@*##+-.............=#%%%%%*%#****##***********#%#*+++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++#@%#################@=:...++##=*-...:::###*##+-..............:=#%@#+*#%****#*************#%#*+++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++*#@%#################@%=...-+*%#=*:.....:#*#*##+-................-#@*+++*%****#*************#%@#*+++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++*%%##################%##+...++#%+++.......#*%+##+=.................=%*++++#%#******************#%@#++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++*%%##################@#+#*..-**%#+#-.......**@+##+=.................*#++++++*%%*******************#%#*++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++#%%##################%%*+*#..*+#%*=*:.......**%+#*+=................:%*+++++++*#%********************#%*+++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++#@%##################%%*++*#.:#*%%+++........+*%+%##=................=#++++++++++#%#********************%#*+++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++#@%##################%@*+++*%.:#*#%*#-........+#%#@%#:................##+++++++++++*#%#*******************#%#*+++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++*#%%###################@#+++++#:.*+*=#*.........+*%#%#+................-#++++++++++++++*#%********************#%*++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++*%%####################%#++++++#::#+=*=..........+*%###:................**++++++++++++++++*##********************%#*++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++*%%####################%%*++++++#+*+==*...........+#@*=#................-#++++++++++++++++++*%#********************#%#+++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++*%%#####################@*+++++++#%=--=*:.........:#*+=-*:...............**+++++++++++++++++++*##********************#@#++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++*%%#####################%#+++++++*%+-+==*-........:*==-+=*:..............-#*+++++++++++++++++++++#%*********************%#*++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++*%%#####################%%*+++++++*%-+*+=+=........=*=*+#=*:..............**++++++++++++++++++++++*%%*********************%%++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++#@%######################@#++++++++#@**=*=+=........:**=+*=*..............-#*+++++++++++++++++++++++*%#*********************#%+++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++#@%######################%#+++++++++*#%*****-.........:#*###=..............**+++++++++++++++++++++++++*#**********************#%++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++#@%######################%%*++++++++++*#.:---...........*==--..............-#*++++++++++++++++++++++++++*%**********************#%+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++#@########################%#++++++++++++*:...............+..................**++++++++++++++++++++++++++++*#**********************#%++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++#@%#######################%%*++++++++++++*:..............:-.................-#*+++++++++++++++++++++++++++++%#**********************%%+++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++#@%########################%#+++++++++++++#-..............-:.................+*++++++++++++++++++++++++++++++*#***********************%#++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++*#%%########################%%*+++++++++++++#=..............-.................-%*+++++++++++++++++++++++++++++++*#***********************%*+++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++*%%#%########################@#++++++++++++++**.............:-.................*#+++++++++++++++++++++++++++++++++##**********************#@*++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++*%@##%#######################%#+++++++++++++++*#.............-:................-%*+++++++++++++++++++++++++++++++++*#***********************%#++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++*%%**%########################@*+++++++++++++++*#.............=:...............:*#+++++++++++++++++++++++++++++++++++*%**********************#%++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++*%%**#%#######################%%++++++++++++++++*#:............-................-%*+++++++++++++++++++++++++++++++++++*%#*********************#@++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++*%@***%%#######################@#++++++++++++++++*%:............-................=@*++++++++++++++++++++++++++++++++++++*%**********************%++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++#@#***%########################@*++++++++++++++++##.............-................*#++++++++++++++++++++++++++++++++++++++##*********************@++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++#@%***#%#######################%#+++++++++++++++++#+.............=................=%*+++++++++++++++++++++++++++++++++++++#%*********************@++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++*@*#***%########%%%%%#######%@%%%#++++++++++++++++*%:.............=:...............:##++++++++++++++++++++++++++++++++++++++##*******************#@++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++*%#=#***%####%%@%##***+++++++***##*++++++++++++++++**..............+:................+%*+++++++++++++++++++++++++++++++++++++#%*******************#%++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++#@==#**#%##%@%***++++++++++++++++++++++++++++++++++#=.............:#-................:%#++++++++++++++++++++++++++++++++++++++##******************%#++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++*%#==*#*%%@%#**++++++++++++++++++++++++++++++++++++*%-.............:%+.................+#++++++++++++++++++++++++++++++++++++++#%********##********%#++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++*%+==+#*@%#*+++++++++++++++++++++++++++++++++++++++*#..............=%%:................-%*+++++++++++++++++++++++++++++++++++++*%*******##*%******#@+++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++##=++=###*+++++++++++++++++++++++++++++++++++++++++*+..............###=.................**++++++++++++++++++++++++++++++++++++++##*****##=-#******#%+++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++##+*%=*%*++++++++++++++++++++++++++++++++++++++++++#=.............:%**#................:**++++++++++++++++++++++++++++++++++++++*%****##==-*#*****%#+++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++##*%@*+@*++++++++++++++++++++++++++++++++++++++++++#:.............=@**%-..............:=-#*+++++++++++++++++++++++++++++++++++++*%#**#*====+#****#%++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++**######%#*@@*=%*+++++++++++++++++++++++++++++++++++++++++*%..............*#++##.............-=:.**++++++++++++++++++++++++++++++++++++++#%*#+======#****@#++++++++++++++++++.........................++++++++ +..........................::::::::::::=++*#@#*=--=###+#%=+%*+++++++++++++++++++++++++++++++++++++++++*#-............:%*++*%-..........:=-..:**++++++++++++++++++++++++++++++++++++++*@%+=====-=%***#@+++++++++++++++++++.........................++++++++ +..........................::::::::::::=+*%#=-::...-=+*%+=*#++++++++++++++++++++++++++++++++++++++++++*+-=:..........=%*+++##........:--:..:=*#++++++++++++++++++++++++++++++++++++++*@+===*%*==#***@*+++++++++++++++++++.........................++++++++ +..........................::::::::::::=+#%:.-++:..--#*+==%*++++++++++++++++++++++++++++++++++++++++++#-.:--:........*#++++*@-.....:--:...:++=#++++++++++++++++++++++++++++++++++++++*%===*%%%*-#**%%++++++++++++++++++++.........................++++++++ +..........................::::::::::::=*@*.-+=-..::=#+==+%*+++++++++++++++++++++++++++++++++++++++++*%-...:---::::::%*+++++#*:::-=-:....-++=:**+++++++++++++++++++++++++++++++++++++*%==+%**%*=**#@*++++++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%=*++:.-::*@*--*#++++++++++++++++++++++++++++++++++++++++++*%+-....:::----+%*+++++*%+--:.....:=++-..=*+++++++++++++++++++++++++++++++++++++*%==+@*#%+=##@*+++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++#%%*-.::.-%@#=-#*++++++++++++++++++++++++++++++++++++++++++*#++=:.........*#+++++++**.....:-=++=:...:#+++++++++++++++++++++++++++++++++++++*@+=+@%@#*-#@%++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++*#++:-.:###%=+@*++++++++++++++++++++++++++++++++++++++++++*+:=++=-::....:#*+++++++*%-::-=+++=-.....:#*++++++++++++++++++++++++++++++++++++*%+==*%##+=%%+++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++*%*=::.+%**@**@*++++++++++++++++++++++++++++++++++++++++++#=..-=++++====+%*++++++++*#+++++=-........**+++++++++++++++++++++++++++++++++++++#*=--+#**%@++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++*@@+-.-%*++#@@#+++++++++++++++++++++++++++++++++++++++++++#-....:-=+++++##+++++++++*%*=--:..........=#+++++++++++++++++++++++++++++++++++++#*====#*#%%%+++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++*##=-#*++++##+++++++++++++++++++++++++++++++++++++++++++*%:.......::::-#*++++++++++*+..............-#+++++++++++++++++++++++++++++++++++++##==--%#-+-%+++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++##%@*+++++++++++++++++++++++++++++++++++++++++++++++++*#............:%*+++++++++++#:.............:%*++++++++++++++++++++++++++++++++++++##===*%*--:##++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++*@@*+++++++++++++++++++++++++++++++++++++++++++++++++**............-#++++++++++++#+..............#*++++++++++++++++++++++++++++++++++++##==#*-::::=%++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++##++++++++++++++++++++++++++++++++++++++++++++++++++**............+#++++++++++++*#..............+#++++++++++++++++++++++++++++++++++++#%*%*==:.=--@++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+............**+++++++++++++#-.............=#++++++++++++++++++++++++++++++++++++*#%%:....==-@++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*=...........:%*+++++++++++++**.............-#+++++++++++++++++++++++++++++++++++++*%=.....+--@++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#=:..........-%*+++++++++++++*%-............:%*++++++++++++++++++++++++++++++++++++##:-....+:=%++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#=:..........=#+++++++++++++++#*:............#*+++++++++++++++++++++++++++++++++++*%=+-..::*:*#++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#=...........+#+++++++++++++++*%-............**+++++++++++++++++++++++++++++++++++*@=#:..*++-%+++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#=...........*#+++++++++++++++*%*............+*+++++++++++++++++++++++++++++++++++*@*%:-#***%%+++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#-..........:#*++++++++++++++++*%-...........=#+++++++++++++++++++++++++++++++++++*@%@%@#%%%@++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#-..........:@*++++++++++++++++*%*...........-#++++++++++++++++++++++++++++++++++++####*+****++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#-..........-%*+++++++++++++++++#%-..........-%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%=..........+%*+++++++++++++++++*@+..........:@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@=..........*#+++++++++++++++++++%#:.........:%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@@=-+****+=-:%#+++++++++++++++++++#@-..........*@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%#%%%%%%%%%%@#+++++++++++++++++++*%+..........#@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%@#++++++++++++++++++++##:.........%%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%@#++++++++++++++++++++*%--------::%%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%@#++++++++++++++++++++*@%%%%%%%%%#%%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%@#++++++++++++++++++++*@%%%%%%%%%%%%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%@@%%%%%%%%%%@#++++++++++++++++++++*@%%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#@@@@@@@@@@@%*++++++++++++++++++++*%@%%%%%%%%%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#########**++++++++++++++++++++++#@%%%%%%%%%%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................::::::::::::-=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +..........................:::::::::::::-=======++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%@%%%%%%#%@%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.........................::::::::::::::::::::::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@@%%%%%#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=................................. +..........................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*++*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +..............................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#%##:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=**#@@@@@@@@#==*%@#**=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*@@@@@@%%%%%%@#=-==+%@@@@@@#*+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*#@@%%%%%%%%%%%%%#=====-=#%%%%%%@@@@**=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::=*@@%%%%%%%%%%%%%%%%#+===#+=-=*%%%%%%%%%%@@@#*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.................................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%#=-==*%#+--=+%%#%%%%%%%%%%@@@*:::::::::::=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.........................::......:::::::::::::::::::::::::::::::::::::::::::::::::=*@%%%%%%%%%%%%%%%%%%%%%+-===##**=-=-=#%%%%%%%%%%%%%%@@#+:::::::=@+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::::::::::::+#@%%%%%%%%%%%%%%%%%%%%%%+-====#*==--==-=*%%%%%%%%%%%%%%%%@@*=::::@@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%*-=====##--=======+%%%%%%%%%%%%%%%%%%@@*=*@*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::::+#@%%%%%%%%%%%%%%%%%%%%%%%%%*-======##=-=======-=#%%#%%%%%%%%%%%%%%%@@@#:=+::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::::::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%%%%%%%%%#========*#+---========*%#%%%%%%%%%%%%%%%%@@*=@#::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................:::::::::::::::::::::::::::::::::::::+#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========-+##*+========-*%#%%%%%%%%%%%%%%%%@@@@*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::........................................... +.................................::::::::::::::--------------------=*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=-=======-=**###+=-====-*%#%%%%%%%%%%%%%%%%@@#=--------------------------------------------------------------------................................. +.................................::::::::::::::+++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*==============#%%*=====-#%%%%%%%%%%%%%%%%%@%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::+++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========-+##*=+#%%#====-#%%%%%%%%%%%%%%%%%@%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======-=###%*=#%#+-====%%%%%%%%%%%%%***%@%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======#%*=#+=*#++===-=%#%%%%%%%%%@#***#@%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-===***##+=+=+#**#===-+%%%%%%%****%****#%%%#@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======##%#===*###*===-*%%%%%%#****#****#%@#*@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::::::::::++++++++++++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-===-=*#%*=+#%##+===-#%%%%%%**********%**%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................:::::::-------+++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-====-=+##*###*=-====%%%%%%%*+************%%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++................................. +.................................::::::-=======+++++++++++++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======-=####+=-=====%%%%%%%%************#%%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................-------- +.................................::::::-=======++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-=====--+#%+=======+%%%%%%%%%#*********#@@@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.........................++++++++ +.................................::::::-*************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#--=====-=##=======-*%%%%%%%%%%********#%@@******************************************************++++++++++++++++.........................++++++++ +.................................::::::-#%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=-=====--*#========#%%%%%%%%***********#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +.................................:::::-=#%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-======-+#========%@@@@@@@#************@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +.................................:::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%=======-=#=======+@@@@@@@@******#%#***#%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +.................................:::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@+-=======*======-*@%%%%@@@%#***%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +.................................:::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%@@@@@@@@%%@%%%%%@%%#======--+=---===%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%@@@@@%%@@@@@@@@@@@@@@@+=------===++##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**+++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**#*++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**++++++#*++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***#+++++++++++*#++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####**+++++++++*+++++++===++**++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####****+++++#+++*******+**++++++=--=++##+++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%#****+++++++++++++***#**+++++++*+++++++--=+++##++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%#%%#######***#****######**+++++++++++++++++*%*++++++++++*++++==+=--+++*##++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@*+*****##************+++++**+++++++++++++#+=*++++++++++++++++++##++++++++++*++++==++=-++++**#*++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@*++++++%*+++++++++++++++++**++++++++++++**-=#++++++++++++++++++*+#+++++++++**++++++++=+++++**#*+++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@+++++++%++++++++++++++++++*#++++++++++++#=:-#+++++++++++++++++++=+*++++++++**++++++++++++++**+**++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@++++++*#+++++++==++++++++++#+++++++++++*+:::*+++++++++++++++++++*-+*++++++++*+++++++++++++++*++**+#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@++++++**+++++++--=++=++++++#++++++++++*+-:::=*++++++++++++++++++*=-+*+++++++*+++++++++++++++**+++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%++++++**+++++++=--++-=+++++#+++++++++**-:--:-*++++++++++++++++++++--+#**++++*++++++++++++++++*++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%++++++*++++++++=--++==+++++*++++++++*#+=---::=++++++++++++++++++*##%%@@%*+++*++++++++++++++++*+++++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%++++++*+++++++++--+++++++++**+++*##%@@@@%#*+==*+++++++++++++***#%%@@@@@@%#*+*+++++++++++++++++*++++++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@++++++*+++++++++=+++++++++++*+++*%%@@@@@@@@@@%%*++++++++++++*#%%%%%@%%@@@@%#*+++++++++++++++++*+++++++++*#%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%*++++**+++++++++++++++++++++*++#%%@@@@@@@@@@@@@@*+++++++++++*%%%#**%%-=#@@@@%*++++++++++++++++**++++++++++++**#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%#++++*+++++**++++++++++++++++*#%@@@@%%%@@@@*+#%@%*++++++++++*%%%%*+*%*..=@@@@*+++++++++++++++++*++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%++++#+++++*#++++++++++++++++#%@@@@%%%%%%%@+..:-**++++++++++*###%%#**%=::=%@@*+++++++++++++++++**++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%++++*++++++#+++++++++++++++*%@@*#%%%%%%%%%#.....+++++++++++++#*#%%%%%#=..=@#*+++++++++++++++++**+++++++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%@*++**++++++#*+++++++++++++++%@#:#%%%#+%%%%%.....:++++++++++++#**#+#%%#...:#=+++++++++++++++++++*+++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@%#++*+++++++**+++++++++++++++#%=.#%%%+:*%%%%:.....:+++++++++++#+**#-+##:..-+:+++++++++++++++#*++*++++++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@%%++*+++++++**++++++++++++++++%*:*%#*-.-++%%-.......=+++++++++#++***-**-..--:+++++++++++++++%#++**++++++++#@@%@@@%%@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%@%#%#+*++++++++#++++++++++++++++*#-*#=.....=*#=........-*+++++++#++++*#+*-....-+++++++++++++++%%++**++++++*%%%%%@@@%#@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%@%%%%#*++++++++*+++++++++++++++++#++++=...:==+=.........:=++++++**++++*##-....-+++++++++++++++%%*+**+++*#%%%%%%%#%%#+@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%@%%%%%%+++++++++**+++++++++++++++++****#+:.:==+=...........:=++*+*****#*+*:....=++++++++++++++*###++%##%%%%*%%%%%%%%#*@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%@%%%%%%*+++++++++**++++++++++++++++++***--*+-==++..............:--=#**++=++:....+++++++++++++++#*+#++#**#%%%%*%%%%*%%#*@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%@%%%%%%#+++++++++++*+++++++++++++++++++##:.:**+++=..................+=---=++....:++++++++++++++*#++#*+#++%@@%%%*%%%%%%#*@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%@@%%%%%%%*+++++++++++**++++++++++++++++++##:..:***#-..................=+::::+=....=+++**#*#+++++*#+++**+#++%@@@@@%#%%%%%#*@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%@@%%%%%%%#+++++++++++++*++++++++++++++++++*+....=-=#:...................*----=:...:+++*##+:=#+++*%#+++*#*#++%%%%%@@%#%%%%##@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%@@%%%%%%%%#++++++++++++++**+++++*++++++++++**-....=:-*....................-:-=--....=*++#::...***%@%#+++*##*++%%%%%%%@%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%@@#+%%%%%*#%%*+++++++++++*+++#*++++#*+++++++++#-....:=.:*.............................=*++**.....:%@@@@%++++##+++%%%%%%%%@%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%@@*+%%%%%*%%*+++++++++++*#*++*#++++*%++++++++**.....=-.:#...........................:=*+++*+......-++*%%*+++%#+++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%##%%%%@%*+++++++++++*#*+++*##++++%#+++++++**....:+:..*:.........::===-::.........:+**##%*.........:+@*+++#*+++%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%@#*%%@#++++++++++++*%#+++***##+++#@%%##*++*+....:-...*:....::--===---==+-...........:++++..........-%#++++++++#%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%@#*%%%#*++++++++*####+++****#%**%%%%%%%%##-..:::....+-...-===---------==............=-.-:::::.....:#%++++++++#%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%**%%%@%%#***#%@@%##+++****#%#%%%%%%%%%@*:.:-:.....+=...=------------==............=-..:===-:::..:#%*+++++++#%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%**%@@%%%@%**%%%@%#++*#***#%#%%%@%%%%%%-..::......==..:+------------=-............-=...:-==-.....*@*+++++++#%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%+#@%%%%%%+*%%%%@#++#%#**#%%%%%%@%%%%%-..:.......-+..:=------------=:...........:**.............+@#+++++++#%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%@@%%%%%%@+*%%%%@%++#%#**#%%%%%%%@%%%%=..........-*..-=------------=...........:*##:............=@%+++++++#@%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%+*%%%%%%++##%#*#@%%%%%%%%%%%+..........=*..-=-----------=:..........-*###-............+%@*++++++*@%%%%%%%%%%%%%%@%@%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%**%%%%%@**#*#%##@%%%%%%%@%%%-..........*-..-=----------=-..........=##**#=............*@@#*+++++*%@%%%%%%%%%%%%%%@%@%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%**%%%%%%%##**#%@%%%%%%%%%%@#..........-+...:+-:-----::--.........:*@#*#%@*............%@@@%%%%###%#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%#*%%%%%%@%%#**#%%%%%%%%%%%%*.........:#*....:::::::::..........:+%%@##%@@%*+=-::.....:%%%%#%%%%%%@@@@@%%%%%%%%%%%%@%@%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%+@%%%%%@@@%#*#%%%%%%%%%%%%%+........*%%=.....................-#%%%@##%%%%%%%%%%##*++*%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%#@%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%+%%%%%%%@@@#*%%%%%%%%%%%%%%%*:....:*%%%%-.................:=#%%%%%@#*%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%@%%%%%%%%%%%@#%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%@#%%%%%%%%%%%%%%%%*:...+%%%%%#-:...........::=*%%%%%%%%@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%@@%%%%%%%%%%%%%%%%%#-.=%%%%%%%@#+===-====+#%%%%%%%%%%%%@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%+#%%%%%%%%#+=-------#@%%%@@@@@@@%%@%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%@#*%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**=-:-=##@@@@@@%%%%@%%@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%@#*#@%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%*@%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%***##+=#**@%%%%%%%%%@@@@##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#%@%%%%%%%%%**%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%#@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%#****#****#%%%%%%%%%%@@@%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**#%@%%%%%%%#*#@%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***++++*#%@%%%%%%%%%%*#%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****#%@%%%%%@#**%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#**#%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%******##%%%%%%%%%%%%**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##****##%@%%%@#**#@%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%@@****%%%%%%%%%%%%%%%%%%%%%%%%%@%%@%@#%%%%%#*%@%%%%%%%%%%#**%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##*****###%@@@#***%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%@#****#%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%#%%%%##%%%%%%%%%%%%%**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##********##%@%***%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%@%@%%%@%******#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******+*%%%%%%%%%%%%#**#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#***********##%***%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@#*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+++*##**%%%%%%%%%%%%#***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##************#***%@%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%*********%%%%%%%%%%%%%%%%%%%%%%%%%%%@*+*#**##%%%%%%%%%%%%%%***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*#****************#@@%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%#@%@#**********%%%%%%%%%%%%%%%%%%%%%%%%%@%%*#*+*+*%%%%%%%%%%%%%%****#%#@@%%%%%%%%%%%%%%%%%%%%%%%%%%******************##%@@%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#@%************%%%%%%%%%%%%%%%%%%%%%%@%%%%%*+++++#%%%%%%%%%%%%%#***##*##%%%%%%%%%%%%%%%%%%%%%%%%%%********************##%@@%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%@#%#*************%%%%%%%%%%%%%%%%%%%%@%%%%%%#++*#*%%%#*#%%%%%%%%#***##****#%%%%%%%%%%%%%%%%%%%%%%@#***********************##@@%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%#**************#%%%%%%%%%%%%%%%%%@%%%%%##%#*##%@%*===*%%%%@%%#***##******#%%%%%%%%%%%%%%%###%%%**************************##%@%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*****************%@%%%%%%%%%%%%%%@%%%*--==*%+-+%%==**=*@%#*******##*********#%%%%%%%@@@%#*#@@%#*****************************#%@%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#******************#%%%%%%%%%%%%%%%%@#=*%#=-#==-=+=%#%*=##********##**************##*******#@%%********************************#@%++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*********************%%%%%%%%%%%@*#%%+=%*##========%**%+*###******##***********************%%%@#********************************#%%*++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%@%***********************#%%%%%%%%#++%#*+%##*========+##++%*##******##***********************@%%%%#*******************###**********##@*+++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*************************#%@%%%%*++##%+=**=======-+#++*##**%******##**********************#%%%%@#*******************#%@%###********#%*++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*************************#%%%%#*++*#*#+===++=###+=%###****%******##**********************%%%%%%@*********#**********#@@@%##********#%*+++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*************************%#****#*++%**###%%*=#**#=*#******#******##*********************#@%%%%%%#********************#@%%@%##****#**#%*++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#***********************###****%@*+#*******#=+##*=*#******##******#*********************%%%%%%%%%#*******************#@@%%%@@##******#%*+++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%**********************#%##****#%%*##******#+-+#==#*******##***************************#@%%%%%%%%#********************#@%%%%%@%###****#@*++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#********************##%%%%####%*%##*******#+=-+#*********#***************************%%%%%%%%%%%#********************%%%%%%%%@%#*****%%++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*******************##****##%%%#*#%%********####**********%**************************#@%%%%%%%%%%#********************#@%%%%%%%@%#*****%*+++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*****************##*********%***%%***************#%%%***%%*************************%%%%%%%%%%%%%#******************##@%%%%%%%#*@#****#@+++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%***************##***************#***#%@@%#****#%%#%@%**%@%***********************#@%%%%%%%%%%%%#********************%%%%%%%%#+*@#****##++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#************#%*******************#%#*#%@%**#@#***#@**#@%@#*********************%%%%%%%%%%%%%%%********************#%%%%%%%#++*@#***#@++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#**********#%%*******************%#****#%%#%#****#@**#@%%@#********************@%%%%%%%%%%%%%%#*******************#@%%%%%%#+++*%#***%#+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*******#%#%*******************%%******%@%#****%%***@%%%@%******************#@%%%%%%%%%%%%%%##******************#@%%%%%%#++++*%#**##+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#*****#%#*%#******************#@%#*##%%#%@%%%@%****%%%%%%@#****************@%%%%%%%%%%%%%%%%#******************#%%%%%%%#+++++*%**#@+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***#%#**##*******************#%@@@%%***#%%%#*****%%%%%%%@%**************%@%%%%%%%%%%%%%%%@#******************#%%%%%%%#++++++%#*#%+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%#%%#***##***************************************#%%%%%%%%@#***********#@%%%%%%%%%%%%%%%%%%******************#%%%%%%%#++++++*%**%+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**###*****##***************************************#%%%%%%%%%%@#*********@@%%%%%%%%%%%%%%%%%%#*****************#%%%%%%%#+++++++%#*%+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********##***************************************#@%%%%%%%%%%@@%#####%%@%%%%%%%%%%%%%%%%%%@#******************%%%%%%%#+++++++##*%+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********#%**********************#**********#*****#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*****************#%%%%%%%#+++++++#%#@+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##**********%********************%@@@%#****#%@@@#****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**#**************#@%%%%%%#++++++++%##+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#***********%*******************%%#*#%@%**#@%**%@#***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****************#@%%%%%%#++++++++@@*+++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***********##******************@#****#@@*%#****@#***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****************#@%%%%%%#++++++++@*++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***********##******************@%*****#@@%****#@****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#****************%%%%%%%%#+++++++%%+++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***********#%******************#@%####%%#%@%%%@#****#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#***************#@%%%%%%%#+++++++#++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***********#%*******************#%%@@%#***#%%##******@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#*************#@%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************#%****************************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#***************%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##************%#***************************************%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#**************#@%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***********##**********************#####************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#************%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***********#%#*********************%%%%%%%%**********#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##************#@%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***********###*********************%%%%%%%%%%*********#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#************#@%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********#%%*********************#%%%%%%%%%%%*********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************#@%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***********#%*********************%%%%%%*#%%%%#********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********##@%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***********#%*********************%%%%%+==%%%%%********#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#********##%@%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**********#%**********************%%%%%*++%%%%%*********%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********#%@%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*********#%***********************%%%%%%%%%%%%%*********#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****###%@%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********###*******##**************#%%%%%%%%%%%#***********#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*####%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******#%#********##***************%%%%%%%%%%%*******##****%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%@@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*****#%#*********%#****************@%%%%%%%@*********%#****%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##****##**********@#***************#*#@@@@%###********%%#****%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#****#%**********#@%***************#*#%**%+#*%********%%%#****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#**#%***********%%%***************#+%%*****#*#*******#%%%#****#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*#%************%%%*****************%%***#+##*#******#%%%@#****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%************#%%%*****************%%******%*#*******@%%%%%#***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#************%%%%#***************###****#+##+#******%%%%##%#***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#*************%%%%%***************###*******%#+#*****%%%%###%%***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*************#%%%%%*************#+###*****#+#%*******%%%%####%%#**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%**************%%%%%%#************#+###******#*##+*****%%%%######%#**%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#***************%%%%%%%*************+###******#+#%#+#**#%%%%#######%%#*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%#***************#%%%%%%%#*************###********+%%*+**#%%%%#########%%#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*****************%%%%%%%%%************+###********+#%#+*#%%%%%%#########%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#******************#%%%%%%%%%#***********+#***********+%%#=#%%%%%%###########%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*******************%%%%%%%%%%%***********+##**********+*%%*+%%%%%%############%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#********************#%%%%%%%%%%%%*********+*##***********=#%#+*%%%%%##############%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*********************%%%%%%%%%%%%%%#*******+*%#**********%=*%%#=#%%%%###############%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%#*********************#@%%%%%%%%%%%%%%%#*****+*%#********#%%*+#%#*+%%%%################%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%#***********************%@%%%%%%%%%%%%%%%%%#***+*%#+*****#%%%%#=*%%#+#%%%#################%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%@#************************@@%%%%%%%%%%%%%%%%%%%%%+*##**##%%%%%#%%*=#%%#+#%%###################@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%#************************%%@%%%%%%%%%%%%%%%%%%%%%+*##*%%%%%%%%%%%%=*%%%+*%%####################@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%*************************#@%%%%%%%%%%%%%%%%%%#%%%%+*%#+%%%%%%######*=#%%#+#%####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%**************************%%%%@@%%%%%#######%#%%%%%+###++=--:.......==*%%%*+%#####################%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%@%**************************#@%%%#-:.............::-+%+###*=...........:+=#%%#*%######################%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%@#***************************%%%%%#:..................*+*##*=............==*%%%%*%######################@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%#***************************#@%%%%%:..................*+*#%*+:...........:+=##-++#%#####################%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%#****************************%%%%%%@-..................*+###*+.............+=#*-+++%######################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%#****************************#@%%%%%@-..................*+###**:............-#*++#+=#######################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%#*****************************%%%%%%%%+..................*+#%##*:............:#*+*+==#%######################%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%@#*****************************#@%%%%%%%*..................*%%%%#*-.............---#*==+#######################%%*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%#******************************%%%%%%%%%#..................*++@@%#=...............=+-===+%######################%##@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%@#******************************#@%%%%%%%%%:.................*#=%%=#+..............:+====+=*%######################%*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%@%*******************************%%%%%%%%%%@-.................*@*++*%-..............+=++-=*==%%#####################%**#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%@%*******************************#@%%%%%%%%%%=.................*%+=*%%=.............:**%*==*+=%@%######################**#@%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%********************************%%%%%%%%%%%%*.................+#===+#=..............:=%**=*==%%@#####################%***%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%@*********************************%%%%%%%%%%%%#:................+#=====*................+%%+#*+@%@%######################**#@%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%@#********************************#%%%%%%%%%%%%%:................=%=*+*=*=...............+@@@@@@%%%@%####################%***#%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%*********************************@%%%%%%%%%%%%%=................=%++*%##*...............+%%%%%%%%%@%####################%****#@%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%#********************************#%%%%%%%%%%%%%%*................-@%%@%@%=...............*%%%%%%%%%%@%#####################****%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%*********************************%%%%%%%%%%%%%%%%:...............-%%%%%%%:...............#@%%%%%%%%%%@####################%*****@%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%********************************#@%%%%%%%%%%%%%%@-...............-%%%%%%@:..............:%%%%%%%%%%%%%%#####################****#@%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%********************************%%%%%%%%%%%%%%%%%+...............:@%%%%%@-..............:%%%%%%%%%%%%%@#####################*****%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#********************************%%%%%%%%%%%%%%%%%*...............:%%%%%%%=..............:%%%%%%%%%%%%%%%###################%******%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#*******************************#%%%%%%%%%%%%%%%%%%:..............:%%%%%%%#..............:%%%%%%%%%%%%%%@###################%#*****#@%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#*******************************%%%%%%%%%%%%%%%%%%%-..............:%%%%%%%@:..............*%%%%%%%%%%%%%%%####################******%@%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#******************************#%%%%%%%%%%%%%%%%%%%=..............:%%%%%%%%*..............=%%%%%%%%%%%%%%@%###################*******%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#******************************%%%%%%%%%%%%%%%%%%%%=..............:%%%%%%%%%:.............-%%%%%%%%%%%%%%@%###################*******#@%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#*****************************#@%%%%%%%%%%%%%%%%%%%=..............:%%%%%%%%%-.............:#%%%%%%%%%%%%%%@%###################*******%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#*****************************%%%%%%%%%%%%%%%%%%%%@-..............:%%%%%%%%%+..............+%%%%%%%%%%%%%%@%###################*******#%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#*****************************%%%%%%%%%%%%%%%%%%%%@-..............:%%%%%%%%%#..............-%%%%%%%%%%%%%%%@%##################********%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#****************************#%%%%%%%%%%%%%%%%%%%%%:..............-@%%%%%%%%@:..............#%%%%%%%%%%%%%%@%########%%%######%********#%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#****************************%%%%%%%%%%%%%%%%%%%%%%:..............-%%%%%%%%%%=..............+%%%%%%%%%%%%%%%@%%%@@@@@@@@@@@@%#%*********%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%#***************************#%%%%%%%%%%%%%%%%%%%%%#...............=%%%%%%%%%%+..............-%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%@@@#********%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%***************************%%%%%%%%%%%%%%%%%%%%%%#...............*%%%%%%%%%%#..............:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#********#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%***************************@%%%%%%%%%%%%%%%%%%%%%*...............*%%%%%%%%%%%:..............+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#********#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%@**************************#%%%%%%%%%%%%%%%%%%%%%%*...............#%%%%%%%%%%%-..............-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%**************************%%%%%%%%%%%%%%%%%%%%%%%+..............:%%%%%%%%%%%%+..............:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%********#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%#************************#@%%%%%%%%%%%%%%%%%%%%%%+..............:%%%%%%%%%%%%#...............*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@***##*#*#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%************************%%%%%%%%%%%%%%%%%%%%%%%%=..............:@%%%%%%%%%%%#...............=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@***#==*#*%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%**********##************@%%%%%%%%%%%%%%%%%%%%%%%=..............-@%%%%%%%%%%%%:..............-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@***=-==#*@%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%@*********#+*###********#@%%%%%%%%%%%%%%%%%%%%%%%-..............=%%%%%%%%%%%%%=..............:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@##=--==*#@%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%@%********#=--=*##******@%%%%%%%%%%%%%%%%%%%%%%%@-..............+%%%%%%%%%%%%%+..............-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#=-===-+#@%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%@*******#+======*##***#@%%%%%%%%%%%%%%%%%%%%%%%@=..............*%%%%%%%%%%%%%#.............:=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%=-=++===%@%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%@%******#+======-=*##*%%%%%%%%%%%%%%%%%%%%%%%%%@+=:............#%%%%%%%%%%%%%#:...........--.*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*--=%**==%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%@#****#*====---====*%@%%%%%%%%%%%%%%%%%%%%%%%%@-:=-:........:+%%%%%%%%%%%%%%%*=-:.....:-=-..+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*-=+@#*==#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%@%****#===-=++=======%%%%%%%%%%%%%%%%%%%%%%%%%@-..-====---==--@%%%%%%%%%%%%%%+-=+====+=-...:*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+==+@%*==*%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%@%***#-==+%@@%======%%%%%%%%%%%%%%%%%%%%%%%%%@-.....::::::..-@%%%%%%%%%%%%%%*....:::.....:+*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+-=*@@#=-#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%@%##*-==#%%%%#====+@%%%%%%%%%%%%%%%%%%%%%%%%@=:............+@%%%%%%%%%%%%%%#:........::=++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+-=+%@%+=%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%@@%+===%%%%%%+===*@%%%%%%%%%%%%%%%%%%%%%%%%@*+==-::....::=#%%%%%%%%%%%%%%%%*+======+++++=-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+===*%+**%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%=-=+%@%%%%+===#@%%%%%%%%%%%%%%%%%%%%%%%%@+=++++++++++++#%%%%%%%%%%%%%%%%#+++++++++=-:.:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+====+##@%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%=--+##@@@%====%%%%%%%%%%%%%%%%%%%%%%%%%%@-.::-==+++++==#%%%%%%%%%%%%%%%%*:::---:::....:#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+=====*@@%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%@%+-=##+%#+===+%%%%%%%%%%%%%%%%%%%%%%%%%%@-......::::...*%%%%%%%%%%%%%%%%#:.............#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@+=====*%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%@%+=++*+=--==+@%%%%%%%%%%%%%%%%%%%%%%%%%%-............:#%%%%%%%%%%%%%%%%%-.............*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======*-*%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%@@%*#**----==*@%%%%%%%%%%%%%%%%%%%%%%%%%%-............:%%%%%%%%%%%%%%%%%#=.............+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=====*:-%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%@#==+%#+======*%%%%%%%%%%%%%%%%%%%%%%%%%%%-............:%%%%%%%%%%%%%%%%%%+.............+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%====+=:-%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%@*::=:*%=-=====#%%%%%%%%%%%%%%%%%%%%%%%%%%%-............-%%%%%%%%%%%%%%%%%%#:............+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#==-+=..:#%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%@*:::+-=**==-===%@%%%%%%%%%%%%%%%%%%%%%%%%%%=............-%%%%%%%%%%%%%%%%%%#-............=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-=++....*%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%:...:==:+%+--=+@%%%%%%%%%%%%%%%%%%%%%%%%%%%=............-%%%%%%%%%%%%%%%%%%%-............=%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*-++:.::.+%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%@=:.......-@@*==+@%%%%%%%%%%%%%%%%%%%%%%%%%%%=............=%%%%%%%%%%%%%%%%%%%+............-%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#++::.::.+#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%:........-@%@%*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%+............=%%%%%%%%%%%%%%%%%%%*............-%%%%%%%%%%%%%%%%%%%%%%%%%%@*--=:.::-:.+#%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%@#:.-:..::.=%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%+............+%%%%%%%%%%%%%%%%%%%#:...........-%%%%%%%%%%%%%%%%%%%%%%%%%@%-.....::=:.+%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%@#:==.:-+:.#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+............*%%%%%%%%%%%%%%%%%%%%-...........-%%%%%%%%%%%%%%%%%%%%%%%%%%@*==+:..:=..*%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%@##=+*#+.-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*............#%%%%%%%%%%%%%%%%%%%%=..........:-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-...--.:%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%@@+::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:...........#%%%%%%%%%%%%%%%%%%%%+..........:-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#::-+*::*%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#:..........:%%%%%%%%%%%%%%%%%%%%%*...........-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@+=#@%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:..........:@%%%%%%%%%%%%%%%%%%%%*...........-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:..........-@%%%%%%%%%%%%%%%%%%%%*...........=%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%::.........=%%%%%%%%%%%%%%%%%%%%%#...........=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%::.........+%%%%%%%%%%%%%%%%%%%%%#...........=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%:..........*%%%%%%%%%%%%%%%%%%%%@%-..........-%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-..........+%%%%%%%%%%%%%%%%%%%%@@+..........:#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#:..........=@%%%%%%%%%%%%%%%%%%%@@#:..........+@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*...........-@%%%%%%%%%%%%%%%%%%%@@%=..........-%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*...........:@%%%%%%%%%%%%%%%%%%%@@%*........::=%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@*...........:%%%%%%%%%%%%%%%%%%%%%@%%=...:-=*#%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%:..::::....:%%%%%%%%%%%%%%%%%%%%%@%%#-:=*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+=*###******@@%%%%%%%%%%%%%%%%%%%@@%%#*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................::::::::::::-=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +..........................:::::::::::::-#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#++++++++++++++++.........................++++++++ +.........................:::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+++++++++++++++=................................. +..........................::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++================................................................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.............................................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.........................::......::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=*********************************************************************************************************************************************************************-----................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................:::::::-----=*********************************************************************************************************************************************************************+++++................................. +.................................::::::-=====+*********************************************************************************************************************************************************************+++++.........................-------- +.................................::::::-=====+*********************************************************************************************************************************************************************+++++.........................++++++++ +.................................::::::-***************************************************************************************************************************************************************************+++++.........................++++++++ +.................................::::::-#%%%%#*********************************************************************************************************************************************************************+++++.........................++++++++ +.................................:::::-=#%%%%#*********************************************************************************************************************************************************************+++++.........................++++++++ +.................................:::::=*#%%%%#*********************************************************************************************************************************************************************+++++.........................++++++++ +.................................:::::=*#%%%%#*********************************************************************************************************************************************************************+++++.........................++++++++ +.................................:::::=*#%%%%#*********************************************************************************************************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************************************************#%#%%@%@@@@@@@@@@@@@%#***********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************************************************##%@@@@%%%%%%%%%%%%%%%%%%%%@@@%#*******************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************************************##%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%#****************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************************************#%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%**************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************************************#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+*%%%%%%@%#***********************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************************#%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=-#%%%%%%%@%#*********************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************************#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#===-=%%%%%%%%%@%#*******************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************************#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=====-+%%%%%%%%%%@%#*****************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=---=#*==*%%%%%%%%%%%@%****************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=----*%#=-=#%%%%%%%%%%%%@%**************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+====-=###+--=%%%%%%%%%%%%%@%*************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#======-+%*++---+%%%%%%%%%%%%%%@#***********************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#====-===*#+====-=*%%%%%%%%%%%%%%@%**********************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=-===-===*#========#%%%%%%%%%%%%%%@%*********************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=---======##=========#%%%%%%%%%%%%%%@*********************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=-=-=======##+========+%%%%%%%%%%%%%%@#********************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%====-======+*#*=-======#%%%%%%%%%%%%%%%***#****************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%============-*##=======#%%%%%%%%%%%%%%%**%@****************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=========*#*==##*=-====%%%%%%%%%%%%%%@%*#@@****************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=====-=*%%%#=###*=-=-*%%%%%%%%%%%%%%@%#%@#*##*************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-===*+*%*=#*=###+====#%%%%%%%%%%%%%%@*%@%%%%@*************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-====##%+-+==#*=====+%%%%%%%%%%%***@%%@@@@@@%*************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************#%@@@@@%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=====+#%*--=#*+*====#%%%%%%%%%%****%@@%#******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************%%@%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#======+##==*%##*===+%%%%%%%%%%#****%@@%*******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************#%@%%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=======+#**#%#*====#%%%%%***#%*++**%%%%*******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************@%%%%%%%%%%%%%%%%%%%%%@@@%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%======--*#%#*+=====%%%%%*****%*=-+*@%%@#******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************%@%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%@@@%%%%%%%%%%%%%%%%%%%+=====--*%#======-*%%%%%****+**--+%#**#@******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************#%@%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%@@@@%%%%%%%%%%%%+=====--+#+--=====%%%%%%***+--=:-==+***@******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%@@@@@@@@@@#=====--+#=-=====*%%%%%%#**+-::::::=**#@******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%#=====--+#=======%%%%%%%@#**=-:::-+**#%%@%#***************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************#%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%=======+*====--*@@@@@@@%%#*=-=-:-*#@@%%%%%@%#************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************#%*++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@+===-==++====-=%@%%%%%%****++**--+*#%%%%%%%%@%#**********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************%*+++++*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*+===-========#@@@@@@@%******##++***@%%%%%%%%%@%#********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************#%++++++++*###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%%%@%%%%%%%#****#%#****%%%%%%%%%%%%@%********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************%*++++++++**+**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%##%%%%%%%%%%%%%%@#********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************#%++++++++**+++++**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%@%*********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#++++++++#+++++++++**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#**********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************@*+++++++**++++++++++++++*####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************#%+++++++**++++++++++++++++++++**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************%#++++++**+++++++++*#++++++++++++**+**####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##@%***************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************#*+++++**++++++++++#*++==++++++++#++++++++***##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**+++#@#**************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************@*++++**+++++++++++#++=--++++++++#+++++**++++++##++***####%%%%%%%%%%%%%%%%%%%%%%%####**+*#++++++#@#*************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************%++++**+++++++++++**++=-=++++++++#++++++*#**++*%*+++++++++++*****##**********#%*+++++++++#*++++++#%*************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************%++**+++++++++++++#*++=-=++==+++*#++++++++*#**##*++++++++++++++++#*++++++++++*%*+++++++++*#+++++++%#************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************%***++++++++++++++#++++=++=-=+++**++++++++++#%=+*++++++++++++++++##++++++++++*%*++++++++++#+++++++*@************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************#%#*++++++++++++++**++++++++=++++**+++++++++*#=:+*++++++++++++++++##++++++++++*#*+++++++=++**++++++*@************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************#%#*++++++++++++++++**+++++++++++++**++++++++*+-::+*++++++++++++++++##+++++*+++++#+++++++=-=++#+++++++%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************#%%@#*++++++++++++++++++*++++++++++++++**++++++**=..::=*++++++++++++++++*****###*++++#+++++++=--++**++++++%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************#@%*+++++++++++++++++++**++++++++++++++**+++++**:....:=*++++++++++++++++##%**++++++++#++++==+=--+++*++++++%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************#@#+++++++++++++++++++**++++++++++++++**+++**=.......-*++++++++++++++++#=#+++++++++**++++=-++--+++#++++++%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************#@%*+++++++++++++++++*+++++++++++++++*++**+:........:*++++++++++++++++*-**++++++++**+++++=++==+++**+++++%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************%@#*++++++++*#%*+++*+++++++++++++++*#*+:...........*++++++++++++++++*-=*++++++++**++++++++++++++*+++++%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************#%###########*#*+++*+++++++++++++++*=:.............+*+++++++++++++++*--#++++++++*+++++++++++++++*++++*@************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************%#**++*****+++#*+++*++++++++++++++**:..............-*+++++++++++++++*-:**+++++++*+++++++++++++++**+++*%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************#**********%@###++++++++++#*++**+++++++++++++#%%=:.............:*+++++++++++++++#-:=#++++++**++++++++++++++++*+++*#************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************#@%%******%@@%*#%++++++++++#*++**++++++++++++#%%%@%+-............*+++++++++++**++#-:-*++++++*+++++++++++++++++*+++*%************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************@%%@@@@@@@%%#*%%++++++++++#*++**++++++++++++*%%%@@@%*=:.........-*++++++++++*%*+#=::=#+++++*+++++++++++++++++**+++##***********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************#%=#%%%%%%%%##%%*+++++++++#*++**++++++++++++++*#@@@@@@%+:.......:*++++++++++***+*+:::**++++*++++++++++++++++++*++++%***********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************%*#%%%%%%%%##%%*+++++++++#*++**++++++++++++++++*+#@@@@@%*-:.....+*+++++++++*++*+#-::-*+++**++++++++++++*%++++#+*#+*%**********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************#%+%%%#%%%%##%%#+++++++++#*++**++++++++++++*****--=%@@@@@@#:....:*+++++++++*+:*+#=...-**+*+++++++++++++*%#+++*+*%*+##*********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************%#*%%*#%%%*#%%%+++++++++**++**++++++++++++#%%%%%%%@@@@@@@%:.....=*++++++++*+.-**#:...-##*+++++++++++++*##*++***%#+*%#********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************%*#%%%%%#*#@@@*++++++++**++*#++++++++++++#%%%%@@@@@@@@@@#......:**+++++++*+..=%%*----=%*+++++++++++++***#++**#%%#+*%#*******************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************#@*%%%%%#*%%*##++++++++*#+++#++++#+++++++*####%######%%#-.......:*+++++*##%###@@@%@@%+#++++++++++++++#*+#*++##%%%*+#@@%#*****#%@********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************#%%@@@@#*%***%+++++++++#+++#*++*@#+++++++++++*-.....::..........-**+++#%%@@@@@@@@@@%%*++++++++++++++#+++#++#%%%%%*+%%%@@@@@@%%%********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************##%%%%##%***#*++++++++#*++%#++##%#++++++++++++..................:**+*%%%@@@@@#*++-=%++++++++++++++**+++#*+%@@%%%#+*%%%%%%%*=%*********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@***##++++++++*#+*@%++%##%#++++++++++*:...................=*#%%%%@@@@#+--.-#++++++++++++++#++++*#+%%%@%%%#+#%%%%%%#*%*********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@****%+++++++++%**@%#+%%##*#*++++++++*+.....................-+#%%@@@@@@@%#+*+++++++++++++#*+++++#*%%*#@%%%**%%%%%%###*********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@****#*++++++++%#*@*@*%@@%++#%*+++++++*=.......................:=+*+#@@@@@*+++++++++++++**++++++*#@%**#%@%#*#%%%@%*@**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@****##++++++++%@%@*#@@%#%+++#@%######%%-............................-+%@%+++++++++++++#*++++++++%@#****#@@#*%%%%%*@**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@*****%++++++++##%@#*#@#*@++++%%=:----::......:::.....................:+#++++++++++++*#*+++++++++%%*******%@*#%%%%*%**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@*****@*+++++++##*#******%*+++*%%=...........:++++++==-:............:*#*+++++++++++*#*+++++++++++*#*********%*@@@*#%**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@*****%#+++++++*#********%#++++*%%+:.........=--------=+=:...........+**++++++++**###+++++++++++++#*********##%%%###**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************###@*****%%*++++++*%********##+++++*@@*:.......-=-----------=+:..........:-+%####***+++#*++++++++++++#**********%##**************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************%##@*****%%#+++++++%*********%++++++*%@#=:.....=-------------=-............:%###++++++++#++++++++++++#**********#%%**************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************#%#%*****#%#+++++++%*********@*++++++#@@%*-...:=-------------=:............=%*#%++++++++*#+++++++++++#***********%%#*************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************%*%#*****@#*++++++##*******#@#+++++++#@@##+:.-=-------------=............-##**#*++++++++**++++++++++##**********#%#*************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************@#%%*****@##++++++*#*******%%#++++++++#%****++-------------=...........:+###**##+++++++++#*+++++++++#%***********%%*************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************%##%*****%##*+++++*%******#@*#*++++++++%#*++*#*=----:----==:........:-*%@%**##@#+++++++++*#+++++++++*@#**********#%#************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************#%##*****##*#++++++%******%%**%*+++++++*%*+++**#+=-----==-.....::-+*###%@%##%@%%++++++++++**++++++++*%@#**********@%************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************%#%*****##*#*+++++%*****#@***%#**++++++*#*****##=+++**=--:-=+*#####***#@@@@%#*%+++++++*+++#*+++++++*#%%**********%@************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************%#%#****%#**#+++++##****%%****%#********##%%***#**##%##%%%%##****************##++++++**+++*#++++++++##%#*********%@#***********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************#%##****#%**#*++++*#****@*****#%#*******#%###***##****%%%@@%#****************%*++++++***+++#*+++++++#*#@#*********@%***********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************%#%*****%#**#*+++*%***%%******#%%%#%###*#%%%%**+****#%%%%%@@%***************%+++++++***+++*#+++++++#**#%*********@@***********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************#%##****%***##++++##**@#*********#####%##%%%%%#***##%%%%%%%%@@*************##++++++*****+++#+++++++#***%%********@%***********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************%%%****%****#*+++##*#@****************%##%*%%%#%###%%%%%%%%%@#***********#%++++++******+++**++++++##**#%%*******@%***********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************@%#***%#***##+++*%*%%*****************####**#%%#%%%%%%%%%%%@@%*********#%*+++++*****#%#++*#++++++*#***#%%******@##**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************#%%***##**#*#*+++%#@#******************#%%*+****%%%%%%%%%%%##@@#*******@%************%%*++#++++++*#****#%#*****@#%**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%@%**##*****#*++*@@%#******************%@%***##%%%%%%%%%%%#**#@#******#%@%#********#@@#++%++++++*#*****#%#****@##**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************%@%*##*****##+++%@##*****************#%%%%#*%@%%%%%%%%%%%*****%%#*******%@%#*#****#@*%++%#++++++#******##****%##**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************%@%##******##++#%*%****************#%%%%%%@@%%%%%%%%%%%%******#%%********%@#*****%@*%*+%%#+++++#*******#%#*#%##**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************%@@##******#*+*#*##**************%%%%%%%%%%@@%%%%%%%%%%********#%#*******#@#***#@%*#%+@*##*+++###******#%#%###**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************#@%********#*#***##***********#%%%%%%%%%%%%%@%%%%%%%%#**********#%#******%%#**%@***@*%**%#+++####******#%@#%#**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************%********##%****#**********#%%%%%%%%%%%%%%%@%%%%%%%#************#%#****%@##%@#***%%%***%#*+*#*#********##%***********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************%#********##****##********#%%%%%%%%%%%%@%%%%%#=*%%%#**************%%#**#%@@%#****%@#****%#**#************%%**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************###*******##*****%*******#%%%%%%%%%%%#+*@%@#-:.=%%%****************#%%#**********%@******%#*##***********#%%*********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************##********##*****##*****#%%%%%%%%%%%*--=+-*-...-%%%******************#%@@%#******#%******#%####************#%#*******************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************###*******#*******%****#%%%%%%%%%%%+--==::-....-%%#********************%%@@@@%%%**********####**************#%#******************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************##********#*******##***%%%%%%%%%%%+---:........=%%#*******************#%%%%%%%@@@@%#*******%#****************#%%*****************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************#*******##********%**%%%%%%%%%%%+--::.........+%%#*******************%%%%%%%%%%%%@@%******#%#****************#%%#***************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%*******##********#%%%%%%%%%%%%+:--:..........*%%*******************#%%%%%%%%%%%#%%@*#%#%%%%##*****************#@#**************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%*******##*********@%%%%%%%%%%#-:--:.........:##********************%%%%%%%%%%%%#%%@%#*****%%##*****************#%#*************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************@#******#**********@%%%%%%%%%%%#=--..........:**##******************%%%%%%%%%%%%%%%+:......-%##*****************##@#************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%#******#**********#%%%%%%%%%%%%%*-......:::..:.:******************#%%%%%%%%%%%%%%%:.......=%%#*******************#%#***********+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************##*****##***********@%%%%%%%%%%%%%#=:...:::...:-=#*****************%%%%%%%%%%%%%%%*.......-%*#%#*************#*****#%***********+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************##*****##***********%%%%%%%%%%%%%%%%*:.......-*###*****************%%%%%%%%%%%%%%%+......:##**@#*************%#****##%**********+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************##*****##***********#@%%%%%%%%%%%%%%%#=.....-#@#******************#%%%%%%%%%%%%%%%-:-:..:##***#%*************#@%##***#%*********+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************%*****#*************%%%%%%%%%%%%%%%%%%#=:.-#%%%******************#%%%%%%%%%%%%%%%:==+::*#*****%#************#@@%#*#**##********+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************%*****#*************#@%%%@%%%%%%%%%%%%%%##%%%%@%*****************%%%%%%%%%%%%%%%#..:+-*%******##*************#@%%#***#%#*******+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************%#***##**************%%%%@%%%%%%%%%%%%%%%%%%%%@@%#***************%%%%%%%%%%%%%%%+..==*%*******#%#************#@*%%#****%#******+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************##***##**************#%%%%%%%%%%%%%%%%%%%%%%%%@%%@#*************#%%%%%%%%%%%%%%%=-+==%*********%#************#%#*#%#***#%******+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************##***##***************%%%%%%%%%%%%%%%%%%%%%%%%@%*#%%************%%%%%%%%%%%%%%%%==-+%#*********##*************%#**#%****##*****+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************#***%#***************#@%%%@%%%%%%%%%%%%%%%%%%@%***%@#**********%%%%%%%%%%%%%%%%==#%#**********#%*************#%***%%#***%#****+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************%**#%*****************#%%%%%%%%%%%%%%%%%%%%%%%%****#%%********#%%%%%%%%%%%%%%%@@@%*************%#************#@****%%****%****+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************#**##******************#%%%%@%%%%%%%%%%%%%%%%%@******%%#******#%%%%%%%%%%%%%%%@****************@#************#%*****%#***##***+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************###%********************#%%%%@%%%%%%%%%%%%%%%%@*******#@#*****%%%%%%%%%%%%%%%%#****************@#************##*****#%#**#@***+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************###%*********************#%%%%@%%%%%%%%%%%%%%@%********#%%****%%%%%%%%%%%%%%%%#****************##************%%******%%#**%#**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************************%#%#********************#@%%%%%%%%%%%%%%%%%@@#**********%%**#%%%%%%%%%%%%%%%%%****************##***********#%#*******@#**#%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************************%#%#********************%%%@%%%%%%%%%%%%%@@%#************%@#%%%%%%%%%%%%%%%%%%****************%#***********#@********#%#**%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************************#%#*********************#%%%@%%%%%%%%%%%@@****************#@@%%%%%%%%%%%%%%%%#****************@#***********%%*********%#**%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************************#%**********************#%%%%#%@%@@@@##%#%@%***************%@%%%%%%%%%%%%%%%%*****************@#**********#@**********#%**%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************************#%***********************%%%%%%%%%%%%**#@@@@@@%#***********%@%%%%%%%%%%%%%%%@*****************%#*********#%#***********@##%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************************##************************%%%%##%%%%#***%@@%%%%@@@%#*******#@@%%%%%%%%%%%%%%@****************#%*********#%%************%##%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#****************************************%*************************##%%%%%@%#*****%@#######%%%@%#*****%@@%%%%%%%%%%%%%****************%#*********#@*************%%#@**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************##********%****************#+#%#%#%%******#@%##########%%@%#****%@@%%%%%%%%%%%***************#%#********#@**************%%#@**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************#*********%#***************#*##**#*%#******%%##############%%%#**#%@@%%%%%%%@#***************@#********#@#**************%%%%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************#*********%%***************#*##***##%#******%#################%%%#**%@@%%%%%@***************%%#******##%****************%%@***+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************#*********%%#****************###***##%#*****%####################%%%%*#%%@@@%*************#%%#******#%#*****************@@#***+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************##*********%%%*****************##***###%#****#%######################%@%#**************#@%%@%#*****####*****************#%*****+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************%**********%%%#****************##****#*###****%#########################%@%*************%%@%%#####%%#**************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************%*********#%%%%****************##*****#+###***%###########################%@%***************######*****************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************##*********#%%%%#**************+#*********%##**#%############################%%##***********************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************#**********#%%%%%*************#+#*******#*#%*#*#%###############################%%#*********************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%**********#%%%%%#************#+#********#+##*##%#################################%%#*******************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%**********#%%%%%%************#+##+********+##*#%###################################%%#*****************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************##**********#%%%%%%%#***********+##+**********##*%####################################%%@#***************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************#***********%%%%%%%%%#************%**********+##**#######################################%%#*************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************#***********%%%%%%%%%%#***********%#+*********+##+*#########################################%%#**********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************%***********%%%%%%%%%%%#*********+%#+********#*+##+##########################################%@#*********************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************#%***********%%%%%#*==---*#******#+#%********#+=+*%#+###########################################%%%#******************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************##***********%%#+-:......:#%#****#+#%#+#**##*-..++#%*+############################################%@#*****************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************#************#+:..........+@@%####+*%#+##*+-....+*+%%++#############################################%%#***************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************@************-............-%%%===++*##**=:......=%+*%#=*##############################################%@#*************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************%************:.............+@%:..:++#%#==.......-@#+#%*=################################################%%#***********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************##************:.............:%%:...++###++:......:%%*+#%++#################################################%#**********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************##************:..............*@-...==####=-......:%*%=#%#=*%################################################%@#********************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************#*************:..............-@+...-+*###=+.......#*#*+%%#+#@#################################################%%#******************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************%*************:..............:#*:..:++#%#*+-......***%+#%%*+%@%#################################################%%*****************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************%*************:...............=#:..:++#%%#=+......***%#*%@%#@*%%#################################################%%#***************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************##*************:...............:#:...+=*%%%+*:.....****@##@%+#**%%##################################################%%#*************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************##*************:................=-...-#%%%%#++.....****#%+#%+%***#%##################################################%@#************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************#**************.................:-...:*+*:-##%:....*#***#%++##****#%###################################################@%***********+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************%**************:.................-....-**++*=%=....+%***#%++%%*****#%###################################################%%**********+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*********************************%**************:.................::...:+=#*=*+.....+%**#%=-==*%*****#%#########################################%%%%#%%%%%@%##*******+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************##**************:..................:....-#=+#-......+%**%*=-==-#******#%#####################################%%**+======+****%#******+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************##**************:..................:...:*+-=*:......+%**%==+=*-********#%####################################%+======--====--+%#*****+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************#***************:..................::::=+---+*......+#*%%==*=#=#********#%#####################################======----=----+@#****+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************@**************#-...................-.:*--=+=*=.....+**#%#*++*+%*********#%###################################%*=====---==-----*%****+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************%**************#-...................:.=+--*#+=#.....*****%@%%%%#**********#%###################################%*====-=#%##=--==*%***+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************%**************#=...................::-*==#+*-#:....***********************%%####################################+===-#@#*%@+--==#%**+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************%**************#*....................-.-+#*=#+#:....#**********************#%%####################################===-*#%**#%+-===%%*+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************#%***************%-...................:..:=***==....:%***********************#@%####################################==-=##%#*%#-==-+%#+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************%%***************%*...................::....:.......:%************************#@####################################*==-*##@@@@=---=*%+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************##***************%%-...................-............:%*************************%%####################################+==-+***%%=---==%*++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************##***************%@*...................-:...........-@**************************%%####################################==--+**%#=-----+%++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************##***************#%%-..................:-...........=%***************************@###################################%*=====+**=-----=%*+++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************@****************#@#*..................:=...........+%***************************#%#############%%%@%%%%@@%%%@@%%%%%%%%+----++++-=====*%+++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************@****************#@*%-..................=:..........#%****************************%%######%%%%@@#%%#*********#%%#%%%@@@#+====#+*======+@+++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************%*****************%**#:.................-:.........:%#*****************************@##%%%##%#**************************#%%%%%@%#****##%%+++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************%*****************%#*%=.................--.........:@******************************%@@%#*************************************%%==-+-::-%%++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************%*****************%%**%:................:-.........:%******************************#%#***************************************%*:=+=....:*%+.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************%*****************#%**#*................:-..........*%***********************************************************************@=.:......::+#:........................++++++++ +..........................::::::::::::=*#%%%%#*******************************#******************@***%+...............:-..........-%***********************************************************************%*........-+-+#:.......................++++++++ +..........................::::::::::::=*#%%%%#******************************##******************%****%:..............--...........+#***********************************************************************%-........:*=*#:......................++++++++ +..........................::::::::::::=*#%%%%#******************************%#******************%#***#+..............-:...........:##**********************************************************************#%-::.::...-#=#+......................++++++++ +..........................::::::::::::=*#%%%%#******************************%#******************%%***#=..............=:............-%***********************************************************************#%-..:*-...*#+%:.....................++++++++ +..........................::::::::::::=*#%%%%#******************************%#******************#@***%-.............:=:.............*#***********************************************************************#%+..-*-..-%#%:.....................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*******************@***%:.............:=:.............:%*************************************************************************%*=*=*=:-%@+......................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*******************%**%%:.............=+:.............:*#*************************************************************************#%@%%@%%=:.......................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*******************%#*%*=:............*#:............-=-#***************************************************************************#+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*******************%%*@-:=-..........:%@-..........:--..+#***************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*******************##*@:..:=-........=%%*........:--:..:+%***************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*******************##*%-....---:.....##*%-....:--=:...:++*#**************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*********####*******@%%+=:...::-=-::=@**%*--=--::....-++-:#**************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*********#=+*##*****%%*+++-:....::-=#%***@*::......-+++-..=#*************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*********#====+*##**%@-:-+++-:.....:##***%#:....:-=++=:...:#*************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*********#=======+##%@-..:=+++=-:..=%*****%=:-==+++=-......=*************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*********#====-======#:....:=++++==##*****#%*++++=:........:#************************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************%#*********#====**===--*=......:-=++*@*******##=-:............+#***********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#******************************#@#********#===*#%%=---++.........::+%********%-..............:%***********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************#@#*******#+==#*%@#=--=*...........*#*********#:..............+***********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#********************************#@#********-=#*%%%*=--*:.........-%**********#=..............-***********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************%%*******==**%%%#=--+=.........=#***********#:.............:***********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************%@#****#===##@%#=--=*.........*#***********#+..............***********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************%%#**#+==+#@%+=---*:.......:%*************#:.............=#*********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***************************************#%###===*#+-=---+=.......=#*************#*.............-#*********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*****************************************%@%+==**+---=-=+.......*#**************#-............:#*********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************************@#+=**+---===#......:%***************#*.............*#********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*******************************************#%@%%%*---==-#-.....-%****************#-............=#********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**********************************************#@**++==+**:.....*%******************............-#********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************************@=.:-=+##:.....:##*****************#=...........:%********************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#***********************************************%#.....:=+:....-@*******************#:...........##*******************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************************%-......=+....+%*******************#=...........+%*******************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************************%+....:-.+-..:%%*******************##:..........-@#******************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#************************************************##:....+--+..:%%********************@=..........=@%******************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************************@=-=-.=#:*..:%%********************%#:....::-::=%@#*****************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#*************************************************#%*+#-=%-*..:%%********************%@*-:+*#%%%%%%@%*****************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************************@%*%%#%#%+**@@********************%@%%#%%%%%%%%%%%*****************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************************%@%%%%%%%%%%%@********************%@%%%%%%%%%%%%%@*****************************************************************+++++.........................++++++++ +..........................::::::::::::=*#%%%%#**************************************************#@%%%%%%%%%%%@********************#@%%%%%%%%%%%%%@*****************************************************************+++++.........................++++++++ +..........................::::::::::::-=#%%%%#***************************************************#@@%%%%%%%%%@*********************@%%%%%%%%%%%%%%*****************************************************************+++++.........................++++++++ +..........................:::::::::::::-#%%%%#*****************************************************%@@%%%%%%%%*********************#@@%%%%%%%%%@%#*****************************************************************+++++.........................++++++++ +.........................:::::::::::::::#%%%%#*******************************************************%%@@%%%@#***********************%@@@%%@@@%#********************************************************+++++++++++++++=................................. +..........................::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++*****+++++++++++++++++++++++++++++++++++++++++++================................................................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.............................................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.........................::......::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=*********************************************************************************************************************************************************************-----................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................:::::::-----=***********************************************************************************************##********************************************************************+++++................................. +.................................::::::-=====+**********************************************************************************************#*%#*******************************************************************+++++.........................-------- +.................................::::::-=====+****************************************************************************************#%%%%%+-*%#******************************************************************+++++.........................++++++++ +.................................::::::-*************************************************************************************%%%%%@@@@@@@@#=--=+%@@%##*************************************************************+++++.........................++++++++ +.................................::::::-#%%%%#************************************************************************#%#%@@@@@%%%%%%%%%%*------=#%%@@@@%%%********************************************************+++++.........................++++++++ +.................................:::::-=#%%%%#*******************************************************************#%@@@@%%%%%%%%%%%%%%%%%*---=*+===*%%%%%%%@@%%#****************************************************+++++.........................++++++++ +.................................:::::=*#%%%%#**************************************************************#%%@%@%%%%%%%%%##%%%%%%%%##*===-*%#====*%%%%%%%%%%@@@%#************************************************+++++.........................++++++++ +.................................:::::=*#%%%%#*********************************************************#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%*=====###*====*%%%%%%%%%%%%@@@%%*********************************************+++++.........................++++++++ +.................................:::::=*#%%%%#******************************************************#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======#*=======+%%%%%%%%%%%%%%%@@%#******************************************+++++:........................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++++++++++##@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-=====+#*--=====-+%%%%%%%%%%%%%%%%%@@#*+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++++++++++##@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======+#*-========+%%%%%%%%%%%%%%%%%%%@%++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++++#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*--======+#*-========-+%%%%%%%%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++++*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*----======##+=----=====*%%%%%%%%%%%%%%%%%%@+*@@++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=-=-=======*###*=--======%%%%%%%%%%%%%%%%%%@+#@#++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-============+###*=======%%%%%%%%%%%%%%%%%%@*@@+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#==========**=-+%%%*+====+%%%%%%%%%%%%%%%%%%@#@#+##++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=========#%%%*=#%%#*====*%%%%%%%%%%%%%%%%%%@@@#%@@#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+====---*%#*%*=*##+=====#%%%%%%%%%%%%%##%%%@@@@%##++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*====+++#%+=#+=*#+++====%%%%%%%%%%%%%***#%%@@@#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=====*#%%+-==+%**#+===+%%%%%%%%%%%@*****%@@%*++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#======*#%#=-=###%#====*%%%%%%%%#%%@*****%@@%@#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-=====+#%*=*%%%#+====#%%%%%%#***#%*++**%@%*%#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======-+##*#%#*+-====#%%%%%%*****%*--*#@%%#%%*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========+#%%*+=======%%%%%%%****+#*:-*%#**##%@++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=========#%#=-======+%%%%%%%***+-==:-+++***%%@++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-======-*#*========*%%%%%%%#**+-::::::=**%@@*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-======-+#*========#@@%%%%%@%#*+-::::=+#%#%#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%@@%=======-=#+========%@@@@@@@@%%#+-:-::-**#%@*+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++#%@@@@@@@@@@@@@@@@@%%%@@@@%%@%%@@%%%%%%%%%%%%%%+======--#+-======+@%%%%%%@#***=--+=--+**#@*+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++*#@@%%%%@@@@@@%%%@%%%%@%%%%%%%%%%%%%%%%%%%%@%%%%%@#======--*=-=====-*@%%%%%@%****++***++***%@@@%#++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++%@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@%@@@@%=-=====-*=-======%@@@@@@@%*******%#****%%%%%%@@#*+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++*#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@+-=====-========+@%%%%%%%%%#***#%%%%#%%%%%%%%%%%@%#+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+++********####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++*%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%#++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%#*+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++%**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@##+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++%*+++++***%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**++%*++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++*%+++++++++#*+***####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**+#*++++*@*+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++##++++++++**+++++++++****#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%##**++++++++#+++++%#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++%*+++++++*#+++++++++++++++++++***#%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%#####****+*#++++++++++++#*++++%#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++@*+++++++#++++++++*++++++++++++++**++++++*####*%%******************+*#++++***+++*#++++++++++++*#++++##+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++@*++++++**+++++++*#+++==+++++++++**+++++++++**%%#+++++++++++++++++++*#******++++**+++++++=-++++**+++#@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++#*+++++**++++++++*#++=--=++++++++**++++++++++*#=*+++++++++++++++++++*%#**+++++++**+++++++=-=+++*#+++#@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++##++++*#+++++++++**++=--=+==+++++**++++++++++#--*++++++++++++++++++++%#+++++++++**++++==+=--++++#+++#@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++#%++++#++++++++++#*++=--++=-=++++**+++++++++#=:-+*+++++++++++++++++++#+*++++++++**++++==++--=+++**++#@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++*%+++#*++++++++++#*+++--++==+++++**++++++++*+--:=*+++++++++++++++++++#-**+++++++**++++++++=-+++++#++#@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++@*+#*+++++++++++#++++==+++++++++**+++++++*+---:-*+++++++++++++++++++*--*+++++++*++++++++++++++++**+#@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++###*++++++++++++#+++++++++++++++**++++++*+.::---*+++++++++++++++++++#-:-*++++++#++++++++++++++++**+#@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++%%*+++++++++++++#+++++++++++++++*#+++++*+:..:::-=*++++++++++++++#+++#-::-**++++#+++++++++++++++++*+##+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++*#%#++++++++++++++*#++++++++++++++++#++++*+.......:-*++++++++++++++%+++#=:-:-+*+++*+++++++++++++++++#*%#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++#%@%#*+++++++++++++++*#++++++++++++++++#+++*=..........=*+++++++++++++%+++*+::---=*#**+++++++++++++**++*%@#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++%@*++++++++++++++++++**++++++++++++++++#***-...........:*+++++++++++++%#+++#-------+**+++++++++++++#%*+*##@%*+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++%%*+++++++++++++++++**++++++++++++++++*%*-.............=*++++++++++++#%*++#=:------+*+++++++++++++###++#+*#%@###*++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++*@%*+++++++++++++++**++++++++++++++++*%@%#*+-:........:*++++++++++++*+#*+**:::::--**++++++++++++*#*#++#+++++*#%@%+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++%@%#*+++++++*##++**++++++++++++++++#@@@@@@@%%#+=-:...-*+++++++++++*+:#*+*+-=++*%%+++++++++++++**+#*+#*++++++*%*+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++@#*%@%####%%%*+++**++++++++++++++++*#**#%@@@@@@@@@*...=*+++++++++++#:+%%%@@@@@@@%+++++++++++++#++*#+#*+++++*%*++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++%%**%%%****+#*++++**+++++++++++++++++*-..:-+#@@@@@@%:...+*++++++++++%@@@@@@@@@@@@#++++++++++++*#+++#***+++*#%+++++++#++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++#@++++++++*@@#+#%%%*++++#+++++**+++++++++++++++++**+++*#%@@@@@@@=...:+*+++++++++#@@@@@%**+=-=*++++++++++++#*+++*##*+*%%*++++++*%@++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++@%++++++#@%%**%%%%#+++*#++++*#*++++++++++++++++*%%@@@@@@@@@@@@%-....:++++++++++*@@@@@%#+-:.+++++++++++++##++++*##%%@@@##+++*#%%@++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++#%#%##@@%%%%+#%%%%%+++**++++*#*++++++++++++++++#%%@@@@@@@%%%##=.......=*+++++++*%@@@@%@@@%##*++++++++++*#*####%%@%%%%%%@%%%@%+*%++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++#=#%%%%%%%#*%%%%%@*++**+++**##++++++++++++++++#%%%#*+==--:::..........-**++++++*%##%@@%%%@@%*++++++++*#++++++###*#%%%%%%%%%%+##++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++%*%%%%%%%%*#%%%%@%*++#*+++**##+++++++++++++++++*+*+....................:=*********--=*%@@@%%*+++++++*#+++++++%%*+*%%%%%%%%%%+%+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++*##%%*#%%#*%%%%@*##++#*+++**##+++*++++++++++++++++*-......................:-----:.....:-*%%#++++++*##+++++++*@%#++#%%%*#%%%**%+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++##%%*#%%##%%%@*+#%++#*++****#*+*%*++++++++++++++++*-...................................=*++++++*###++++++++#@@%*+*%%%+*%%#+%*+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++##%%%%%%*%%@%*++*%*+#*++****#*+*%%#++++++++++++++++#=:................................-#*****######*+++++++##%@%++#%%%%%%**@++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++###%%%%##@@*+++++%*+*#++%%#*##+*%###*+++++++++++++++***=..............................:----***+++##%+++++++%#+*@#++#%%%%#+%*++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++#%#@@@@#%#+++++++%#+*#++%%%###++%#*#%#*++++++++++++++*#=......--------::...................+*+++++#%*++++++%*+++%*+*%%%**%*+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++*%@@%#@%#+++++++#%#++#+*#*#%##*+##**#%*##*+++++++++**+:......-+==========-:................**++++++##++++++%++++*#++%@@@@*++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++%%*+++++++###*+#**#++#@%%+*%**#%++**##****###=:.......:=-----------=+...............-*+++++++*#+++++*@+++++#*+*%#*++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++*%%++++++++###*+*#*#++*@%@#*%#**%++++++******#:........-=------------=...............**+++++++++#+++++@++++++%*+%++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++#%#++++++++##*#++*#%++*%+*%%#@%%%*++*++++++++**........+--------------..............=*++++++++++**++++%++++++##**#+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++@%*++++++++@**#+++#%++*%+++*@@%#%#++#+++++++++*=......:=------------=:.............-%#++++++*++++**++*@+++++++%**#+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++@@+++++++++%**#*+++*++*%++++*##+*%++##+++++++++#-.....-=------------=............:=##%++++++*+++++**+*@+++++++%#*#*++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++#@@++++++++*%**#*++++++*@+++++++++%*+*%*+++++++++#-....=------------=-...........:*#**#*+++++**+++++*+*@++++++++%#*%++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++#%#++++++++##**##++++++*@+++++++++#%++##***###*++*#:...-=-----------=..........:+###**##++++++*++++++**@++++++++##*#*+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++@%#++++++++%****#++++++#%++++++++++%*+*###%###%%*+**:..-=---------==:........:+%#@##***#++++++**+++++*#@+++++++++%**#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++%%#++++++++%****#++++++##++++++++++*%++*%#*****#%#*#*:..::::--::-==:.......-*%#++%%***#%*+++++***+++++*@+++++++++##*%+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++%%*+++++++##****#*+++++%#+++++++++++%#*%#*********#%%%=:................:=#%*++++#%###%@%+++++***++++++%*++++++++*%*#*++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++#%%++++++++%*****#*++++*@+++++++++++++@%*************#%@%+=:.........:-+#%*+++++++#%#%@#*%+++++****+++++*#+++++++++#*##++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++#%%+++++++*#*****##++++*%+++++++++++++%****************#%###+-:::-=+*#%%%%@#++++++@@@#+++@*++++******++++##++++++++##*%++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++##%*++++++%#*****##++++%#++++++++++++#%******************#####**#%@%%%%%%%%%@*+++++++++++##++++****#%*++++%*++++++++%*%*+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++##%#+++++##*******#+++*@+++++++++++++%#********************#####*#%%%%%%%%%%%@+++++++++++##++++*****#%*+++*#++++++++%*##+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++##%#++++%%#*******#+++##++++++++++++*%**********************##**#%%%%%%%%%%%%@%*++++++++++%++++*****#%%*+++#++++++++###%+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++###%+++*%#********#*+*@*++++++++++++%#************************#%%%%%%%%%%%%%%*%@#*++++++++@*++*******#%#+++*%+++++++###@+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++###@++*@##********#*+%%+++++++++++++%**************************#%%%%%%%%%%%%#**#%@*+++++++@#++*******#%##+++%*+++++++%#%+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++#%#%#*@#**********#*#@+++++++++++++#%****************************#%%%%%%%%%%*****#@%*+++++@#********##%##*++##+++++++%#%+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++#%##%@#***********#%@*+++++++++++++@******************************#%@@@@@%@#*******%@%++++@#*********#####*+*%*++++++%#%+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++%####************#@*+++++++++++++#%*******************************%%%%%%%@##*******#@%*+*@%%%####***##%*##++%@*+++++%#%+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++@#***************#@++++++++++++++%****#**************************#%%%%%%%%%%%###*#####@*#@###@%%%%####%**##+##%+++++%#@+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++@#***************#@+++++++++++++*%****#%************************#%%%%%%%%%%%%%%%%*-..:*@%*+++*%*###%%#%***%*###%++++%#@+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++%%#***************#@+++++++++++++%#*****%#***********************%%%%%%%%%%%%%%%%*:....=##@%*++@#**###%#***##%#*#%++##%#+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++@%##***************##++++++++++++*%*******%**********************#%%%%%%%%%%%%%%%#:.....-#**#@%#%%###**##****%@#**#%+%#%++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++%%#*****************%*++++++++++++%#*******##*********************%%%%%%%%%%%%%%%%-......:#****%@%%%%%%##**#**##***#%@%##++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++*%#******************%++++++++++++*%*********##*******************#%%%%%%%%%%%%%%%+.......:#****#%#%%%%%%%%###*******###@+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++*%#******************#%++++++++++++%#**********%*******************%%%%%%%%%%%%%%%%-.......-#****%%%%%%%%%%%%%%#********%%+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++%#*******************##+++++++++++*%************#******************%%%%%%%%%%%%%%%#........-#****%%%%%%%%%%%%%%@%%%###**#%*++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++%#********************%*+++++++++++%#************##****************#%%%%%%%%%%%%%%%+......::-*#**#%%%%%%%%%%%%%#+=-=*#%%###%*+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++##**************#*****#@+++++++++++*%**************##***************%%%%%%%%%%%%%%%%=....:::...=#*#%%%%%%%%%%%%%=.......+%#*#%*++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++*%**************##*****#%+++++++++++%#***************##**************%%%%%%%%%%%%%%%#:..........=#*%%%%%%%%%%%%%#:........+%#*#%*+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++%#**************%#*****%#++++++++++*%****************#%*************#%%%%%%%%%%%%%%%*.........-*#**%%%%%%%%%%%%%*:........+%*###%+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++##**************#%#*****%#+++++++++*@#****************%%#************#%%%%%%%%%%%%%%%+....:-=+*##**#%%%%%%%%%%%%%===+:....-##**#*#%++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++%#**************#@%*****%#++++++++*@#*****************%%##***********%%%%%%%%%%%%%%%%*--+#%%%#*****#%%%%%%%%%%%%#:.:=:...=##***#**#%+++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++%#***************%%%****#%#+++++++*@#******************#@@@#**********%%%%%%%%%%%%%%%@%%%%%%%%******%%%%%%%%%%%%%+..-=..:+##********%#++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+*%***************#%#%****#%*++++++%%#*********************#%%#********#%%%%%%%%%%%%%%%@%%%%%%%%******%%%%%%%%%%%%%=-==::-##**********#%*+++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+%#***************###%*****%+++++*@%**************************##*******#%%%%%%%%%%%%%%%@%%%%%%%%******%%%%%%%%%%%%#===-=###***********##%+++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#**************%#***************%#*@****#%+++++@#********************##******##******%%%%%%%%%%%%%%%%%%%%%%%%%*****#%%%%%%%%%%%%*--=###***************#%++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************%%#**********#***#%++@#****%*++++@********************%@@@%*****#******%%%%%%%%%%%%%%%%%%%%%%%%%*****#%%%%%%%%%%%%#*#%#******************%#+++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************@#***************#@++##****%#++++@*******************#%**#%%#****##****%%%%%%%%%%%%%%%@%%%%%%%%%*****#%%%%%%%%%%%%%%%%#**********###*****#%*++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************%#***************#@++#%#***%#++++@*******************%%****%@#*###%#***%%%%%%%%%%%%%%%@%%%%%%%%%*****#%%%%%%%%%%%%%#%%##*********#%%#*****##++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************#%****************%#++*@#***##+++%%*******************#@%#**#@@@@@@@@#**%%%%%%%%%%%%%%%@%%%%%%%%%#****#%%%%%%%%%%%%%%%%************#%%##*#*###+++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************#%****************%#+++%#***#@++*%*********************#%@@@%%@@#**%@%#*%%%%%%%%%%%%%%%@%%%%%%%%%@#***#%%%%%%%%%%%%%%%%*************#@@#****#%*++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************##***************#%++++#%***#%*+%*************************##**#@%#*#@###*%%%%%%%%%%%%%%@%%%%%%%%%@@%**#%%%%%%%%%%%%%%%#*************#@#%#****#%++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************##***************#@+++++%#***%#%#******************************#@@@@%**%%#%%%%%%%%%%%%%@%%%%%%%%%@*%%*%%%%%%%%%%%%%%%%#*************#%#*@#****%#+++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************##***************##+++++*%***#@%*********************************##****@#%#%%%%%%%%%%%%@%%%%%%%%%@++%%%%%%%%%%%%%%%%%%#**************%#+*%#***#%+++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************##**************#%#++++++%#**#%***************************###*********#%+*@%%@%%%%%%%%%%%%%%%%%%%@*++%@%%%%%%%%%%%%%%%#**************%#++*%#***##++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************##**************#%#+++++++%#*%#*************************%%%%@@%*******@++++#@@@%%%%%%%%%@%%%%%%%%@#+++@%%%%%%%%%%%%%%%#**************%#+++%%#**#%++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************#%**************#%++++++++*%##************************#%%%%%%%%%*****%%+++++*%@@%%%%%%%%@%%%%%%%%@++++*@%%%%%%%%%%%%%%#**************##++++%#***%++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************#%**************#@+++++++++#%*************************%%%%%%%%%%%****@*+++++++*%@%%%%%%%%@%%%%%%@*+++++*@%#%%%%%%%%%%%#**************##++++*@#**##+++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************@#*************#@+++++++++%#************************#%%%%#++#%%%#**%%++++++++++#@@%%%%%%@%%@%%@#+++++++*@%%%%%%%@%%%%***************%#+++++#%***%+++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************%%*************#@++++++++*%*************************%%%%%+-=+%%%@**%%+++++++++++*%@%%%%%%@%%%@*+++++++++*@%%%%%%@%%%%***************%#++++++@#**%*++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#**************@#************#%++++++++#**************************%%%%%%*+#%%%@***%%++++++++++++*%@%%%%%%@%*+++++++++++#@%%%%%%%%%#**************#%#++++++#%#*##++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+*%#***********##+++++++##**********##**************#%%%%%%%%%%%%****%#+++++++++++++#%@%%%@%++++++++++++++*@%%%%@%%@#**************#@++++++++@#*##++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++%%#**********##++++++*%***********%#***************%%%%%%%%%%%*****#@#++++++++++++++##%%*++++++++++++++++*%@%%%%%@#**************#@++++++++%%*##++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++%%**********#@++++++@#***********%%***************##%%%%%@@#****#*#@++++++++++++++++++++++++++++++++++++++#@%%%@@#**************%#++++++++#%*##++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++%%#********#@+++++#%************@%***************#*###%*#%#****@%#%%++++++++++++++++++++++++++++++++++++++*%@@@@%*************#%*++++++++*@#%#++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++#%##****#*#@+++++@#***********#@%***************#*##**#*%%****#@@%%@*++++++++++++++++++++++++++++++++++++++*#*#%*************#@++++++++++%#%+++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++*@%##****#%#+++*%************#%%***************#*##**#+#%%****@@%%@@*++++++++++++++++++++++++++++++++++++++++#%*************%#+++++++++#@%#+++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++%%##****#%+++@*************#%%***************#*##*****%##***%@%#%@%++++++++++++++++++++++++++++++++++++++++#%************#%++++++++++%@%++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++*%%###*#%#+##*************%%%***************####***#+###***%@%###%@*++++++++++++++++++++++++++++++++++++++#%************%#+++++++++*@@*++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++*%%##*#@#%**************%%%#**************####******%*#**#%%####%@#+++++++++++++++++++++++++++++++++++++%#***********#@++++++++++*@*+++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++*#%%##@#**************%%%%**************###*#***#+###**#%%######%*++++++++++++++++++++++++++++++++++++@#**********#%*++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++#%@%**************#%%%%**************###*#******%*#**@@%######%%++++++++++++++++++++++++++++++++++#@#*********#%%+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++%#**************#%%%%**************##%*#****#+##*#*@%%#######%%*++++++++++++++++++++++++++++++++#%*********#%%++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++*%***************#%%%%#*************#*#*******+*%***@%%########%@*+++++++++++++++++++++++++++++++@#********#%%+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++##***************%%%%%%*************#*#*******#+##+#%%%##########%#+++++++++++++++++++++++++++++%@#******##%#++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++@****************%%%%%%#*************+#********+#%#*@%@###########%%+++++++++++++++++++++++++++*@#***###%%#*+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++*%***************#%%%%%%%*************+##+******#+%#*%%@############%%+++++++++++++++++++++++++%@%%%%%%@#*++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++##***************#%%%%%%%#************+##+#*****#+#%**%@#############%@*+++++++++++++++++++++++++#*+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++%****************#%%%%%%%%#************##+********+%#+%@%##############%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++*%****************#%%%%%%%%%%#***********%+*******#+#%#*@%###############%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++##****************%%%%%%%%%%%%%%#********%++*****##*+%#+%#################%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++@*****************%%%%%%#######@@%#******%*=#**##*:=+#%**##################%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++*%****************#%#*+=-:::...:#**#+*###*%#=###+-..:+*%#+###################%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++##*****************-:...........+#+*:::-++##=*-:.....+=#%**####################%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++%#****************+.............-%+*:...-*##+=:......-+*%#+#####################%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++%*****************=..............#+*=...:*#%*=-.......++##+*#####################%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++*#*****************-..............+*+*....+*##==.......+=#%*+######################%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++##*****************:..............=#+#:...++##=+.......-+*%#=*######################%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++#******************:..............-#+%-...=+##++:......:*+%%++%######################%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++*%*****************+...............:%+#=...-**#*+=.......++%%%#%#######################%%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++##*****************+................#+#*...:*#%%++.......+##%%+#%########################%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++@******************=................+#+#:...+##*##.......-*=#%+*%#########################%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++%******************-................=#+%-...=****=........*++%+*%##########################%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++#%******************:................-%+#=...-*++*:........:*=++*%###########################%*++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++##******************:................:%+#*...:#=+*..........++==+%############################%*+++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++%******************#-.................#++#:-=*+==*-.........*=---+%############################%*++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++%******************%+.................*++%=#+==+++-........:*===--*#############################@*+++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++*%******************@#:................+#+#=*+#+*++=........=+=**+-+%#############################%*++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++##******************@@-................-#+#+=*=+*-*-........*+=*++-+%##############################%*+++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++##******************%#*................:%+#*:+##+**.........+%*+++=#%###############################%*++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++%*******************@*%:...............:%++#:.=**+:.........:#@###%@#################################%*+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++%*******************@+@=................#++%-................#%####%%#################################%*++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++##*******************@+#*................**+#=................##+++++@%#################################%*+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++##*******************@+*%:...............+*+#+................#*+++++*@##################################%+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++@********************@++@=...............=#++*...............:%+++++++%%##################################%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++%********************@++#*...............=#++#:..............:%++++++++@##################################%%+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++#%********************@+++%-..............-#++%:..............-@++++++++#%##################################%%++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++##********************@+++@=..............-#++@=..............-@+++++++++@%##################################%%+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++##********************@+++#*..............=#++%+..............=%+++++++++#@###################################%%++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++#*********************@+++*%:.............+#++#+..............=%++++++++++@%############################%#####%@%+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++**********************@+++*%-.............*#++*#:.............-%++++++++++*@########################%#*+++**++*#%@*+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++#*********************@+++##:.............*#+++%-.............:%*++++++++++@%#######################%==---------=*%+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++%*********************@+++#*..............#*+++#+..............*%++++++++++*@#######################%+===--=======#*++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++%*********************@+++#+.............:#++++*#:.............:%*++++++++++@%########################====*%%#+====#*+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++#*********************@+++#=.............:%+++++%-..............=%++++++++++*@########################=-==%%**%=---+%+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++*#*********************@+++%-.............:%+++++#*...............**++++++++++%%######################%+--=*%++%*---=#*++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++##*********************@+++@-.............-@++++++#:..............-%++++++++++*@########################=-==%@@@%=--==%++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++#**********************%+++%:.............=#++++++#*...............**++++++++++@#######################%+===+@##*=--==*%+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++#**********************%+++%:.............=#+++++++#-..............-#++++++++++#%####%%%%%%%%@@@%%%%@%%%#====*=*==---==%*++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++#**************#*******%#++#:.............+#+++++++**...............**+++++++++*@%@@@######*++++++++*###@#*+=*+*=----==+%++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++#*************##%%*****%#++#:.............*#++++++++%-..............=%++++++++++##+++++++++++++++++++++++*#%%###=------=%*+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++%************#*==+##***%#++#:.............**++++++++**..............:#*++++++++++++++++++++++++++++++++++++%%--=+#*+==--*%+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++##***********#+====*##*%#++#..............*++++++++++%-.............=+#++++++++++++++++++++++++++++++++++++@=:+++=:+%%#*%#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++*%#**********%====--=+#%@+**..............#++++++++++**...........:=::#++++++++++++++++++++++++++++++++++++@+::::...-###*++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++%#*********%=====---=+%#*#-.............#+++++++++++%-.........:=:..+*+++++++++++++++++++++++++++++++++++#%-...-...-%*+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++%%********%+=========+@**-=-:..........#+++++++++++**.......:--:...=%++++++++++++++++++++++++++++++++++++%+...--...=%+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++@%*******#*=====-====%#*..-=-::......:%++++++++++++%:...:-=-:....-+%*+++++++++++++++++++++++++++++++++++#%:..:+..::*#++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++%%#*****#*-==##+=--=#@*....:-==----==%++++++++++++**-===-:....:=+++#++++++++++++++++++++++++++++++++++++%+-:.+-..=-%++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++%@#*****#-=+@#%+--=#@#:.......::::::%+++++++++++++%+:......:-+++-:%++++++++++++++++++++++++++++++++++++*#=-.-=..=-#*+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++*@%#***#==*#+*#=-=+@%+=-:.........:%+++++++++++++**....::=+++=:..*#++++++++++++++++++++++++++++++++++++%++.-*..=**#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++%@#**#==*%++%+===@#++++=--::::::-@++++++++++++++%+===++++=-....-#++++++++++++++++++++++++++++++++++++*#*:-#:.+%*#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++*@%#%==+@#+#*-==%*:-=++++++++++*@++++++++++++++*%++++=-:......:#+++++++++++++++++++++++++++++++++++++%%-*@=-%%##+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++%@@+==%@%%#==-**...::-==++++=+%+++++++++++++++%=:::..........++++++++++++++++++++++++++++++++++++++*@%%#%%*#@#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++*@#=-*%###==-+*.........:::.-#+++++++++++++++*+.............-#+++++++++++++++++++++++++++++++++++++++++**+*#++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++*@#=++*+=-===*:............-#++++++++++++++++%:............:*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++#%#=*=--===*:............-#++++++++++++++++#=.............*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++#%**=----=*:............-#+++++++++++++++++#.............=*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++#=-+#+----*-............-#+++++++++++++++++*-............-*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++%:..:+*=--*-............-#+++++++++++++++++++............:*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++%....--%#*%-............-#++++++++++++++++++#:............*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++#....=-+%#%=............-#++++++++++++++++++*=............=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++#....:=:%*#+............-#+++++++++++++++++++*............-#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++#.....=:+##+............-#+++++++++++++++++++*-...........-*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++%.-:..--:%%*............-#+++++++++++++++++++++...........:#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++%:--..:=.*@#:...........-#++++++++++++++++++++*:...........#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++#=:+...=.+#%:...........-#++++++++++++++++++++*-...........##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++*#:+-..+-+#%:...........-%++++++++++++++++++++#+...........*@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++%=#+..+###@-...........-@++++++++++++++++++++##..........:#@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++*#%%-:=@@*@=...........-@++++++++++++++++++++*%:..-=++++**%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++%@%%#%%++@#:::------:-=@+++++++++++++++++++++%--*%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++#*++#+++@%##%%%%%%%%%%@+++++++++++++++++++++@#%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%@+++++++++++++++++++++@@%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%@#++++++++++++++++++++@@%%%%%%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************+++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%@#++++++++++++++++++++#@%%%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++++++++++++#@@%%%%%%%%%%@#++++++++++++++++++++*@%%%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*************++++++++++++++++++++++++++++++++++++++#@@@%%%%%%@%++++++++++++++++++++++%@%%%%%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::-=#%%%%#*************++++++++++++++++++++++++++++++++++++++++++##@@%#*+++++++++++++++++++++++*@@%%%%%%%%%@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................:::::::::::::-#%%%%#*************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*###%@@@@##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +.........................:::::::::::::::#%%%%#*************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.............................. +..........................::::::::::::::+++++++++++++++++++=---------------------------------------------------------------------------------------------------------------------------------------------------------------.............................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.............................................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.........................::......::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=*********************************************************************************************************************************************************************-----................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=*********************************************************************************************************************************************************************+++++................................. +.................................::::::::::::=**********************************************************************************************************#**********************************************************+++++................................. +.................................::::::::::::=********************************************************************************************************#%**%********************************************************+++++................................. +.................................::::::::::::=*****************************************************************************************######@@@##%#*#%*-=##*******************************************************+++++................................. +.................................:::::::-----=************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%%@@@%%%%%%%%%%%%%%@@#+---=%%++++++++++++++++++++++++++++++++++++++++++++++++******+++++................................. +.................................::::::-=====+************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@%%%%%%%%%%%%%%%%%%%%+---===+%%*++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................-------- +.................................::::::-=====+************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##%@@@%%%%%#%%%%%%%%%%%%%%%%%#+---+#*=-=%@@%#+++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +.................................::::::-******************+++++++++++++++++++++++++++++++++++++++++++++++++++++++*##@@%%%%%%%%%%%%%%%%%%%%%%%%%%%*=-===*%#+==+%%%@@#*++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +.................................::::::-#%%%%#************++++++++++++++++++++++++++++++++++++++++++++++++++++*#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+=-===+#*++===+%%%%%@%*++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +.................................:::::-=#%%%%#************++++++++++++++++++++++++++++++++++++++++++++++++*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=-=====+#+-====-+%%%%%%@@#++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +.................................:::::=*#%%%%#************++++++++++++++++++++++++++++++++++++++++++++*#%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=-======*#=--=====*%%%%%%%@@#*+++++++++++++++++++++++++++++++++******+++++.........................++++++++ +.................................:::::=*#%%%%#************+++++++++++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+--=======*#=-=====-=#%%%%%%%%@@%#+++++++++++++++++++++++++++++++******+++++.........................++++++++ +.................................:::::=*#%%%%#************+++++++++++++++++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*----======*%+----===-=#%%%%%%%%%%@@#+++++++++++++++++++++++++++++******+++++:........................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++++#@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=-=========+##*=--====-+%%%%%%%%%%%%@@*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=============+##*=======+%%%%%%%%%%%%@#++++*#+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=========+**==*%%*=======#%%%%%%%%%%%%#+++*@#++*#*++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+====---+#%%#++#%#*======#%%%%%%%%%%%%#+++%@*+#@@#++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*====*+=#%*##+=#%%#+====+%%%%%%%%%%%%%#++*@##@@@%*++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*===-=##%#=+*==##*======*%%%%%%%%%%%%%#+*@@@%*++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=====+#%#=-==##++*=====#%%%%%%%%%%%%%%*%@%*++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======+#%*-=*#**#*====+%%%%%%%%%%%%%%@@@@++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======+##=+%%%%#=====#%%%%%%%%%%%%#**@@#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======*%##%##*======%%%%%%%%%%%%#***%@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+========#%#*+==-====*%%%%%@#**#@%****@#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======-=#%*=========#%%%%%%****%#***#@*+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#======--##+========+%%%%%%#****#****%@@*++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======-*#=========#%%%%%%%*********#*#@*+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%@@%@@@@@@%%@@@@@%%%@%@=======-**=======-=%%%%%%%%************%#+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%@@@@@%%@%@@%%%%%%%%%%%%%%%%%%%%%%@*======-*+-======-*@@%%%%%%@#**********%#+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++*@@@@@@@@@@%@%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#======-++-=====-=%@%@@@@@@@%**********%*+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++*#@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@%=-===--+=-=====-+@%%%%%%@%**********#%*++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####*++=========#@@%@@@%@#**********%#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@#**********#@#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#***#%#***#@@@#*+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++#%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++*##@%%###%%%%%%%%%%%%%%%%%%%%%%%%%%##############%#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++%*+++++++#*++*+***+*******++++#++++++++++++++##+++++++++++++*****%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++%*+++++++*#++++++++++++++++++++#+++++++++#*++***++++++++++++++++++#*+++++*****#####%%%%%%%%%%%@@@@##*+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++*%++++++++**++++++++++++++++++++#+++++++++**##%=*++++++++++++++++++#*+++++++++**+++++++++*#*++*@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++%*+++++++*#+++++++++==+++++++++*#++++++++++++#*##*+++++++++++++++++**+++++++++*#+++++++++++#+++%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++*#++++++++**+++++++++--=++++++++*#+++++++++++*+--**+++++++++++++++++**+++++++++*#+++++++++++*#++%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++%*++++++++*+++++++++=--=++=+++++**++++++++++*+---+*+++++++++++++++++**+++++++++*#++++++++++++#*+##++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++%++++++++**+++++++++=--=+=-=++++**+++++++++*+----=*++++++++++++++*++*#++++++++++#+++++++=++++*#+*%++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++##++++++++*++++++++++=--=+=-+++++**++++++++*=.:----*++++++++++++++*+++#+*#####*++#++++++=-=++++***@++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++##+++++++**+++++++++++=-++==+++++**++++++**-...::-:+*+++++++++++++**++#*+*+++++++#++++=+=--++++*#*@++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++%*++++++**+++++++*+++++=+++++++++**+++++*+:.....:::=*+++++++++++++**++#%+++++++++#++++-++--=++++**%++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++@+++++++**+++++++#+++++++++++++++**+++**=.........:-*+++++++++++++**++***++++++++#++++=++=-=++++*#@++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++%++++++**+++++++*#+++++++++++++++**++*+:...........:-*++++++++++++*#*++*=*+++++++*++++++++=++++++#@++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++##++++++*++++++++*#++++++++++++++++##+-...............=*+++++++++++*##++*-=*++++++*++++++++++++++++%++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++##+++++**++++++++*#++++++++++++++++*-.................:++++++++++++*#%*+*+:=**+++**++++++++++++++++##+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++#*++++**+++++++++**++++++++++++++++*:..................-*+++++++++++#@#++*-:-+*****++++++++++++++++*#+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++%++*++#++++++++++**++++++++++++++++*:.:-:...............=*++++++++++*#+#**+-:--+*%*++++++++++++*++++#+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++**+++++++++++*#+*#+#*++++++++++**++++++++++++++++*-.+%##*=-:..........:++++++++++++#=-*##=-----%++++++++++++*%#+++*#++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++#@*+++++++++#%*+#%#*+++++++++++**++++++++++++++++++-%@%%#**##*=-:......:+++++++++++**::=*+-:--=#++++++++++++*%#*+++#++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++###@#######@@%++%%#++++++++++++**+++++++++++++++++*-+++*##*++*#%#+:.....:+*+++++++++*-..::::::+#++++++++++++*#*#+++#%+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++##=#@@@@@@%%%#+#@#+++++++++++++**+++++++++++++++++*=....::=*#%*+*@#=......=**+++++++*+........*#++++++++++++*#+#*++*%@#*++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++*%+%%%%%%%%%%*+%%++++++++++++++**++++++++++++++++++*++++**##%@@%%@%-.......:+********#+:::::::#*++++++++++++**++#+++#*#%%##*##*+++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++%*#%%%%%%%%#+*%*++++++++++++++*#+++++++++++++++++*%@@@@@@@@@@@@@@#:..........-=*@@@@@@%##%#%%%+++++++++++++#*++*#++#+++*%%%@@*+++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++*%*%%%*#%%%#*%*+++++++++++++++*#+++++++++++++++++*%@@@@@@@@@@@%%#*:............=@@@@@%%%%%%%@%+++++++++++++#++++#*+**+++++*%*++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++%*#%%#%%%%#%*+++++++++++++++###+++++++++++++++++*#%#*+==----::................#@@@@%*=====+%*++++++++++++**++++*#++#+++++%%+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++@*%%%%%%##@%#**+++++++++*#%#+#+++++++++++++++++++*+..........................-*@@@@@%+-:.:*+++++++++++++#++++++#++#+++*%%++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++*@%@@@%%*%####@%%%#######*#++#++++++++++++++++++++#-...........................=#@@@@@@%***++++++++++++#*++++++#*+#*#%@*+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++######%#++++++++#***++++##++**++++++++++++++++++++*:............................-+#@@@@@@%*++++++++++*#+++++++*%+%@@#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++###++++++++**++++++#*++**+++**+++++++++++++++**:.............................:-*%@@%#++++++++++*#%######%%@*%%%@@###%@*++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++#%+++++++++#*+++++*#++++#+++%#++++++++++++++++**:...............................:=%%*+++++++++*#*++**#%%%%%#%#%%%%%**%#++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++*%%+++++++++##+++++*#++++#+++%%*++++++++++++++++**=:........:::::................:+**+++++++++#%*++++++#%%%%@%#%%%%%=+%+++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++%%*+++++++++@#+++++**++++**++%#%#++++++++++++++++*#-.......-++===++=:............-##*++++++*##*##+++**+#%#%%@*=%%%%*=%*+++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++*%%++++++++++%#*++++#*++++*#++%####*+++++++++++++*+:.......-=-------===-:..........:-=+*##%##*+++#*++*#+#%%%%%%#%%%#=#%++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++%%#++++++++++%#*++++**+++++#++%#*#%##*+++++++++**=.........=----------==+..............-#+##++++++#*+%%+#@%%%%%%%%*=*%+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++%#%+++++++++++##*++++**+++++#**%***%**##******##=:.........:=------------+..............:#++##+++++*#*@%+*@%@@@@%#+=#%++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++*%#%++++++++++##*#++++**++++*##*%***%*+++**##***#:..........-=------------=..............-#+++##*++++#%*%**@+*#@@%##@%+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++@#%#++++++++++##*#++++*#+++*#*%#%#**##++++++++++*+..........=------------=:..............+*++++####*+*@+@*+%++++##@#+++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++#%#%+++++++++++%**#*++++#+++#%*#%@#**#%++*++++++++#-.........=------------=..............:**+++++##%##*%#%*+%+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++%##%++++++++++*#**#*++++#*++%@%##@#**#%*+#*+++++++**:........-=----------+:..............+#+++++++#%+#%#@#*+%*++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++%%*##++++++++++%#**#*++++*#++%+%%##****##+##++++++++*+.........:::-----:-=:..............=#*+++++++*%*%%@@##+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++*%#*%+++++++++++%****#++++*%*+%++*%%####%%+*#*++++++++#-...........::::::................=#*+++++++++*%#+%@@#+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++@%*#@++++++++++%#****#++++*@%*%++++*#####@*+##*++++++++#:..............................:+%%#*+++++++++#%++###+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++#@#*##+++++++++*#*****#*+++#%%%@++++++++++%#+****+++++++**:...........................:=##*%#**+++++++++%*++##+##++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++@#*#%#++++++++*%#*#**##*+++##+%@++++++++++*@***%%%%#*++++**.........................:+##+++@#**+++++++++*@++##+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++#@#*#%++++++++*%*******#*+++##++++++++++++++%@@%#***##%#**+#+......................-+%#+++++@#***++++**+++##+#%+##++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++##**#@+++++++#%********#*+++%#+++++++++++++++%%*********#%##%+::................:+#%*++++++%@#****++++*+++*%++%+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++%#**#@+++++###*#*******#*+++%+++++++++++++++#%**************##*=::.........::-+#%#++++++++*%##****++++*++++##+%+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++*%***%#+++##%#**#*******#*++*@++++++++++++++*%******************####*+++++*#%###+++++++++++%###*****+++**+++*%*%+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++#%***%%##%##************#*++##++++++++++++++%#*********************##%@@@@@#++++++++++++++#%*##*****++**#%*++#%%+%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++#%***#%##***************#*++%#+++++++++++++%%**************************#%%@@#+++++++++++++@#*###****++**#@%++*%#+%+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++*#@#***#******************#*+*@+++++++++++++*%******************************##%@@%#*+++++++#%**###****+****%@#++##*%+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++#@%#**************************#%+++++++++++++%#*********************************#%@@@%#*++++%#**%#**********##%#+*#*@+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++*@%##**#*********************##*@*++++++++++++%#***********************************%%%%@@@@##%#***%#**********#@+%**###+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++#@#***************************###%++++++++++++*%***********************************#%%%%%%%%%@@%###%##*********#@+*%*#%#+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************#@%#*#*************************##%@#++++++++++++%************************************%%%%%%%%%%%%%%%@@%#*********#@++%#%@*+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#***********%@##*****************************#@%++++++++++++%#***********************************#%%%%%%%%%%%%%%%%%%@#####****#@+++@@@++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#**********%%#******************************#%%++++++++++++*%************************************%%%%%%%%%%%%%%%%%%%%*=**%*###%@*+%%@#++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#********#%%#******************************#%*+++++++++++++%#***********************************#%%%%%%%%%%%%%%%%*=-:....%%%%%@@@@@%@%###+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*******#@%#******************************#%++++++++++++++#%************************************%%%%%%%%%%%%%%%%+........%%@%%%%%%%%%%@%@#++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#******#@##******************************#%*+++++++++++++*@************************************#%%%%%%%%%%%%%%%*:.......:%#@%%%%%%%%%%%%%@+++*#@%@@*++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*****#@#*******************************#%+++++++++++++++%#*******#%%%*************************%%%%%%%%%%%%%%%%-........:%#%%%%%%%%%%%%%%@#%@#+-:-%*++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#****%@##*****************************#%#+++++++++++++++*%***********#%************************%%%%%%%%%%%%%%%+.........=#%%%%%%%%%%%%%%%%*=:....-%+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#***%@#**************##**************##*++++++++++++++++@#*************##*********************#%%%%%%%%%%%%%%#:.........#*@%%%%%%%%%%%%%%+.......+#+++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#**#@##**************##*************##*++++++++++++++++#%***************##********************%%%%%%%%%%%%%%%+.........=##@%%%%%%%%%%%%%%=......:%++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*#@#***************##*************#%++++++++++++++++++@******************#*******************%%%%%%%%%%%%%%#:.....:::-#*%%%%%%%%%%%%%%##:......=%++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*%%#**************#%#***********#%#++++++++++++++++++%#*****************#%%#****************%%%%%%%%%%%%%%%+.......::+%*#%%%%%%%%%%%%%%#-+=....*#++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#%%#**************#@#***********#%*++++++++++++++++++*%*****************%@@@@#***************%%%%%%%%%%%%%%%-..........-%#%%%%%%%%%%%%%%*=:=...:%+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#@#**************#@%***********#%*+++++++++++++++++++%#****************#@**#@@%*************#%%%%%%%%%%%%%%%%=.......:-=%%%%%%%%%%%%%%%%-.-=...*#+++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%%#**************#@%#**********#%++++++++++++++++++++#%*****************#@%**#@@%#***********%%%%%%%%%%%%%%%%%%*==+*##%###%%%%%%%%%%%%%%#..=-..+%++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%@#*************#%*%*********##@*++++++++++++++++++++@*******************%@%#*#@%%%**********%%%%%%%%%%%%%%%%%%%%%%%%%%**%%%%%%%%%%%%%%%+.-=.:*%*++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%%**************%*#%*********#@*++++++++++++++++++++#%********************#@@%#@@@%##*******#%%%%%%%%%%%%%%%%%%%%%%%%%#**%%%%%%%%%%%%%%%-:=:=#%++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%@#*************%#+@#********#@*++++++++++++++++++++*%***********************#%%@@#**##******#%%%%%%%%%%%%%@%%%%%%%%%%%***%%%%%%%%%%%%%%#--=*%*+++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%@#************#%++%*******##@*++++++++++++++++++++*@#***************************@%#**#%*****%%%%%%%%%%%%%%%%%%%%%%%%%%***%%%%%%%%%%%%%%*=*%#*++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#***********#%++#%*******#@*+++++++++++++++++++*%%#******************#%%%#*****#%@%%%###***%%%%%%%%%%%%%%@%%%%%%%%%%#**#%%%%%%%%%%%%%%@%#+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#***********%*++##******#%*+++++++++++++++++++%%%*******************#%%%%@#******####**#%#*%%%%%%%%%%%%%%@%%%%%%%%%%***#%%%%%%%%%%%%%@#*++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#**********##+++@#*****#%*+++++++++++++++++++#@*********************%%***%@#***********#@@%@%%%%%%%%%%%%%@%%%%%%%%%****#%%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*********#%*+++%*****#%%++++++++++++++++++++#@*********************%@#***%@***#%%*****%%+#@@%%%%%%%%%%%%%%%%%%%%%%****%%%%%%%%%%%%%%#++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%@#********#%#*+++%*****%%+++++++++++++++++++++#@**********************%@%#**@##%%%%@#***@*++*@%%%%%%%%%%%%%%%%%%%%%#****%%%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%@#********%#**+++%****#@*++++++++++++++++++++++%***********************#@@@%@%@#***%%**%#++++*@@%%%%%%%%%%%%%%%%%%%*****%%%%%%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%%*******#@***++#%***#%*++++++++++++++++++++++%#*************************##%%%@#***%%**@+++++++#@%%%%%%%%%%%%%%%%%#*****%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%%#****##%#***++#%***#%++++++++++++++++++++++#%*******************************%@%##@#*%#++++++++*%@%%%%%%%%%%%%%%@#*****%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%%#*****#%****++*%***%*+++++++++++++++++++++*%*********************************#%@%#*#@+++++++++++*%%%%%%%%%%@%%%%@@#***%%%%%%%%%%%%#++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%%%****#%*****+++%**#@++++++++++++++++++++++%#**************************#%%##********%*++++++++++++%%%%%%%%%%%%%%#@#%%##%%%%%%%%%%%@*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#%#***%%*****+++%#*#%+++++++++++++++++++++*%*************************#%%%%%@%******#%+++++++++++++@##%%%%%%%%%%%#@++*%@%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%##%#*#%#*****+++%#*##+++++++++++++++++++++%*************************#%%%%%%%%%*****%*+++++++++++++%#**#%%%%%%%%##@+++*@%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#*%%##@******+++##*##++++++++++++++++++++%#*************************%%%%%@%%%@#***%%++++++++++++++%*****#%%%%%%#%%++++#%%%%%%%%%%@*+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#**%%%%******+++*%*#%+++++++++++++++++++*%*************************%%%%%*+#%%%%**%%+++++++++++++++%*******#%%###@#++++#@@%%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#***%@%******++++%#*%+++++++++++++++++++#**************************%%%%%=-+%%%%**%%+++++++++++++++%*********##*#@++++++*@##%%%%%@#++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#****%#******++++*%*%#+++++++++++++++++*#**************************%%%%%*=*%%%%***%%++++++++++++++%************%#+++++++%#**###@#+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++%##%*++++++++++++++++%***************************#%%%%%@%%%@#****%%+++++++++++++%***********#@+++++++++%##**#%*+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++%##%+++++++++++++++*%****************************%%%%%%%%%%*****%%+++++++++++++%**********#%#+++++++++#%##**##+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++@#%%++++++++++++++@#********#*******************#%%%%%%@%*****#@++++++++++++++%**********#@+++++++++++%##**#@+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++%@@@*++++++++++++%*********%*******************#*#%#%%%#*****%*++++++++++++++@#********#%*+++++++++++#%#**#%+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++*#%*+++++++++++#%*********%#******************#+##*###%****#@%++++++++++++++%#*******#%%+++++++++++++%#***%#++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++@#*********%%******************#+#%**#*%#****#%%+++++++++++++##*******#@++++++++++++++*%***##++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++@**********%%******************#+##**###%***#**%%++++++++++++#%******#%#+++++++++++++++%#**#@++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++#%**********%%#*****************#+###**#*%#**@%%#%@*+++++++++++%#*****%@++++++++++++++++##**#@++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++##**********%%%*****************#+###**#*#%**#%%@%%@*++++++++++@#*****%#+++++++++++++++++%#*#%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++@***********%%%#****************#+###***#*%#**%%%%%@@*+++++++++#%****#@#+++++++++++++++++%#*#%#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++*%***********%%%%****************#*###***#*#%**%%%##%%@*++++++++*@#***#@++++++++++++++++++##*#%#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++##***********%%%%#***************#*###*****#%#*#%%%###%@*++++++++%%***#@++++++++++++++++++*%##%#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++#************%%%%%******************#*****#*%%**%%%####%@#+++++++*@#**#%+++++++++++++++++++%*#%#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++#************%%%%%#*****************#*****#*#%#*%%%######@#+++++++#@#*##+++++++++++++++++++%*#%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++%************%%%%%%*****************%*#******%%*%%%%######%*+++++++%%##%+++++++++++++++++++%*#%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++*%************%%%%%%%****************%*#****#+#%#%%%%#######%*+++++++%@%@+++++++++++++++++++%#%*++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++##************%%%%%%%#**************+%******#+#%%%%%%########%*+++++++*%@#+++++++++++++++++*@@#+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++#*************%%%%%%%%#*************+%********+%#%%%%#########%*++++++++++++++++++++++++++*@*+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++%*************%%%%%%%%%#***********#+##******#=###%%%##########%*+++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++%*************%%%%%%%%%%#**********#+##+*****#+*%#%%@###########%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++*%*************%%%%%%%%%%@@%#*******#+##+******#+%##%@############%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++##*************%%%%%%%%%%%%%@@%%#***#+##+#****#%=##*%@#############%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++#**************%%%%%%%%%%%%%@+##@@@%%+*%+######*+*%##%##############%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++%**************%%%%%%%%%%%%@@+++#%==++*%+*+-::.:*=##*################%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++%**************%%%####***++@#+++##..:++#*+-.....+=#%*#################%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++*%**************=--::::.....%+++++%:.:++#*==.....=++##+%################%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++##**************:...........%+++++%-..++##=+.....:*=##+##################%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++##**************::..........#+++++#=..++##=+......*=*%**##################%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++#***************::..........*+++++#=..=+#%++:.....+++##+###################%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++#***************:...........*#++++#*..-+*#*+-.....-*=##+*###################%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++%***************:...........+#+++++*..-++#*++.....:*-*%*+%###################%@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++%***************:...........=#+++++%:.:*+##=+......+##%@#%####################%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++#***************:...........-#+++++*-.:**%%=*......:+*=%*#%####################%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++##***************:...........:%+++++#=.:##%##%:.......++++*%#####################%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++##***************:............%+++++#+..+*#**%=.......:#+=*%######################@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++#****************:............#+++++**..-*+#+#:.......:*==-+%#####################%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++#****************-............*++++++#..:#+=*+........=+=---+%#####################%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%****************-............+*+++++%::**==*=.......:+==-+==%######################%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%****************-............=#+++++#-++==-=#:......+#+*=*==########################%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%****************=............-#+++++#**=*+*=*-......-=%#**=+%########################@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%****************=............:*+++++#@*=+=#=*-.......:%%@@%%%########################%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%****************=.............#+++++**+*==*+#-.......:%++@%###########################%#++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%****************+.............*++++++*:-***+-........:%++%%############################%*+++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++#****************+.............+++++++*...............:@++*@#############################@+++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++#*****************:............=#+++++%:..............-@+++%%############################%@*+++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++##*****************:............=#+++++%:..............-@+++*@#############################%%+++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++##*****************:............:%+++++%-..............-@++++@%#############################%%++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++##*****************:............:%+++++#=..............=@++++#@##############################@*+++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++##*****************-............:%+++++#+..............+#+++++@%#############################%@#++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++##*****************-............:@+++++#*..............+#+++++%@######################%%%######%@*++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++##*****************=............:@+++++*%:.............-%+++++*@####################%#*+========#%++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++##*****************=............:@++++++%-..............*#+++++%%###################+======----==%#+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++#%*****************+............:@++++++#+..............=%+++++*@###################====---==--==+@+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++#%*****************+............-@++++++*#..............:%++++++@%#################%===--=++==----##++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++#%******************............-#+++++++%:..............*#+++++#%#################%*-=-*%%#%*=---+@++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%******************:...........-#+++++++#=..............-%+++++*@###################=-=#%++*@+---=%#+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%*****************#:...........=#+++++++**..............:#++++++@%#################%+--##+++*#=--=+@+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%*****************#-...........+#++++++++#:..............+#+++++#%###################--+%@##@%=---=%#++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%******************-...........*#++++++++%=..............-*+++++*@##################%===#%%#%#==--=*%++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++%******************=...........#*++++++++*#..............:#++++++@%#################%*===*%-#==--==+@*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@******************+...........#++++++++++%:..............+#+++++%%##################%==-=#-#---====##+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@******************+..........:%++++++++++#+..............-%+++++#@@%%%%%%%%%%%%%%%%%@*===#-#-===---*%+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@*******************..........:@+++++++++++%:............-+%++++++*###################@*+=***=--=---+@+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@******************#:.........-@+++++++++++%=.........:-+=:**+++++++++++++++++++++++++*%@@##%#*++===+@#++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@******************#-.........=#+++++++++++**......:-=+=:..=#++++++++++++++++++++++++++++#+-++*==#@@@%*++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@*******#####******##++=-:::-+##++++++++++++%+===+++=-:...:+%++++++++++++++++++++++++++++#+.+:+=.:+@#++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@#*****#*++**#######+:--=+++=-##++++++++++++%+:::::...:::=+*%++++++++++++++++++++++++++++#*.+-.=-.:#*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@#*****%+---=====+*#+:........*#++++++++++++**......::=++++=#*++++++++++++++++++++++++++++#:=+.:+:.-@++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@#*****#*====--=====+*::.....:*#+++++++++++++%=====+++++=-:.+#++++++++++++++++++++++++++++%-:*:.-=.:#*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@#******#-===--======#++====++##+++++++++++++##++++++=-:....+#++++++++++++++++++++++++++++#*:+:.:+:.+#+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++@%******#====++======#++++++++##++++++++++++++#--:::........-#+++++++++++++++++++++++++++++#:+=:.+-.+#+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++#@#*****%===*@@%*=---*=:::::::+#++++++++++++++%:............:%+++++++++++++++++++++++++++++@##@%**-.+#+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++*@@#****#+==#%++#*---++.......+#++++++++++++++#=............:#+++++++++++++++++++++++++++++*#*+*##=-#*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++#@%****#-=##+++%+--=*:......+#++++++++++++++**.............**++++++++++++++++++++++++++++++++++*%%*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++#%#**#==*%*++##===*-......+#+++++++++++++++%:............+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++*%%*#==+@@@@@#==-+=......+#+++++++++++++++#-............=#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++#@%+-=##%+%#==-=+......+#+++++++++++++++*+............-@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++%#=-=#*-#=====*:.....+#++++++++++++++++*............-%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++%*=-=*-*=====*-.....+#++++++++++++++++*-...........:#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++%%*+*-*=====+=.....+#++++++++++++++++*+............##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++*%%#+#=====++.....=#+++++++++++++++++#............+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++#*-*#*==--=*.....=#+++++++++++++++++#-...........=@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++#+..:=****+#.....=#+++++++++++++++++*+...........-%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++#*.....:-=#+.....-#++++++++++++++++++#...........:#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++##:.......:+=....-#++++++++++++++++++*-..........:*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++%-........:+-...:%++++++++++++++++++*+...........*#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++#+.:..:....:*:..:@+++++++++++++++++++#:..........=@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++++%---.+:....=+..:%+++++++++++++++++++*-..........:#@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++++#*:=:-+.....*-..#+++++++++++++++++++#+........:--#@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++#=-=:==....=+::##++++++++++++++++++#%:...-=**#%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++++++#=*+:+-..-#%#*%@++++++++++++++++++#@*-=*%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++++#*%#*#=+#%%%%%@#+++++++++++++++++*@%%%%%%%%%%%%%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%++++++++++++++++++@%%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%@++++++++++++++++++%%%%%%%%%%%%%%%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%@#+++++++++++++++++#@%%%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%%%#************+++++++++++++++++++++++++++++++++++++%@%%%%%%%%%%%%@#++++++++++++++++++@%%%%%%%%%%%%%@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::::::::::::-=#%%%%#************++++++++++++++++++++++++++++++++++++++*%@@%%%%%%%@@%+++++++++++++++++++*%@@%%%%%%%%%@%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................:::::::::::::-#%%%%#************+++++++++++++++++++++++++++++++++++++++++##@@@@@%#*+++++++++++++++++++++++*#%@%%%%%@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +.........................:::::::::::::::#%%%%#*************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.............................. +..........................::::::::::::::+++++++++++++++++++=---------------------------------------------------------------------------------------------------------------------------------------------------------------.............................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.............................................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.........................::......::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=*******************************************************************************************##########****************************************************************-----................................. +.................................::::::::::::=***********************************************************************************#%%%@@@%%%%%%%%%%#@%%@@@%%#*******************************************************+++++................................. +.................................::::::::::::=*****************************************************************************#%#%@%%%%%%%%%%%%%%%%%=-+%%%%%%%@@%#****************************************************+++++................................. +.................................::::::::::::=***********************************************************************#%#@@%%%%%#%####%%%####%%%#=---+%%%%%%%%%%@@%#************************************************+++++................................. +.................................::::::::::::=*****************************************************************###@%%%%%%%%%%%%%%%%%%%%%%%%%%%#--=#+=+%%%%%%%%%%%%%@%#*********************************************+++++................................. +.................................::::::::::::-===========================================================###%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*---*%#==+#%%%%%%%%%%%%%%@%*=========================+****************+++++................................. +.................................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*====###*===#%%%%%%%%%%%%%%%%#=-::::::::::::::::::::::=****************+++++................................. +.................................::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+====+#*======#%%%%%%%%%%%%%%%%%@*--:::::::::::::::::::=****************+++++................................. +.................................:::::::----:::::::::::::::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+====-+%*--=====#%%%%%%%%%%%%%%%%%%%@*=:::::-=::::::::::=++++++++++******+++++................................. +.................................::::::-====::::::::::::::::::::::::::::::::::::::::::::::::-@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+======+%*-=======*%%%%%%%%%%%%%%%%%%%%@#=::-#*::::::::::-++++++++++******+++++.........................-------- +.................................::::::-====::::::::::::::::::::::::::::::::::::::::::::::::-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+--=====+#*-========*%%%%%%%%%%%%%%%%%%%%%@#-*@=::::::::::-++++++++++******+++++.........................++++++++ +.................................::::::-****:::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-=--=====##*==--====-+%%%%%%%%%%%%%%%%%%%%%@%@#::-::::::::-++++++++++******+++++.........................++++++++ +.................................::::::-#%%#:::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========+*##*+=-=====*%%%%%%%%%%%%%%%%%%%%@@@=-*%*:::::::-++++++++++******+++++.........................++++++++ +.................................:::::-=#%%#:::::::::::::::::::::::::::::::::::::::::::::::::-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=============#%#*=======#%%%%%%%%%%%%%%%%%%%@@@%@@%*:::::::-++++++++++******+++++.........................++++++++ +.................................:::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======+##+=+#%%*+=====%%%%%%%%%%%%%##%%%%%@@@@#*#=:::::::-++++++++++******+++++.........................++++++++ +.................................:::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+====--+#%%%*=#%%%*====+%%%%%%%%%%%%#***%%%%@@*-:::::::::::-++++++++++******+++++.........................++++++++ +.................................:::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*===+==*%*+%*=+##+=====#%%%%%%%%%%%#****#%%@@*:::::::::::::-++++++++++******+++++:........................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::-@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*====*##%+=*==##+=+====%%%%%%%%%%%%******%%@%@-::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::::::::::::::*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=====*#%*--=*#**#+===+%%%%%%%%%%%%******@@@#@-::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::::::::::::::=@%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======*##+-+#####====*%%%%%%%%@@@%**==+#@@%#%#-:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+======*%#=#%%%#+====#%%%%%%%%***%#*-:=*#****%*:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::::*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======*##%##*======%%%%%%%%#****#*-:=+==***#*:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::::::::------**@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========#%#+=======+%%%%%%%@***+--=-::-::+**%*:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::::--**@@@%%%@@@@%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=======-*%#========#%%%%%%%@***=::::::::=+*##-:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::-**@@%%%%%%%%%%%%%%@@@@%%@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%=======-+#*========#%%%%%%%%#**+--:::::=**%@=::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::*@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%@%%%@@@@@@@@@@@@@@@@@+======-=#*======-=%@@@@%%%%@%***=-::::-*#%@=::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%@%@@%@@%%%%%%%%%%%%%@*======--#+======-*@%@@@@@@@@@%#+-::=--=+**%#--::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::=#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%@%%%%%%%%%%======--*+--=====#@%%%%%@%%@#***=-=*+++***#@@@**+--:::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::-%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%@@@======--+=--=====%@%%@@@@@@%*******#*****#%%%%%%%%%#***==++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::-%*+**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@+-====--========+@@@@%%%%%%@******#%#*##%%%%%%%%%%%%%@@@%*+++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::*#+++++++**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%################%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%@@+++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::-%*+++++++++++**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@*+++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::=%+++++++++++++++#**%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@*=++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::*#++++++++++++++**+*#+++**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#**-:-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::**++++++++++++++#*+#*++++++++***###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@#**=-:::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::-%++++++++++++++*#+#*+++++++++++++++**#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##**##--::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::-%++++++++++++++*#*#++++++++++++++++++**++++***###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####***+#*+++*#::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::##++++++++++++++###++++++==+++++++++++#+++++++++++#*+*****################*#*******++++++++++*#++++#-:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::=#+++++++++++++++##*++++++=-=++++++++++#+++++######%*++++++++++++++++++++**++++++++*+++++++++++#++++*+:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::=%*+++++++++++++++#*+++++++--=++++++++++*++++++++++*#*++++++++++++++++++++*#++++++++*+++++++++++**+++*+:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::-#*+++++++++++++++**++++++++--=++==++++++*++++++++++*%+++++++++++++++++++++*#++++++++#*+++++++++++*++++#-::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::*#++++++++++++++++*+++++++++--+++--++++++*++++++++++#%*++++++++++++++++++++*##******+**+++++++==++**+++#-::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::=%++++++++++++++++*++++++++++==+++==+++++**+++++++++**+*++++++++++++++++++++*#******#+**+++++++=-=++*+++*=::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::#*++*#+++++++++++**+++++++++++++++++++++++*+++++++++*==*++++++++++++++++++++*#++++++++*#++++==+=-=++*+++*+::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::=#++*##++++++++++**+++++++++++++++++++++++**++++++++*+--*+++++++++++++++++++++#*+++++++*#++++==++--++**++*+::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::-#+++*=%+++++++++**++++++++++++++++++++++++**+++++++**---=*++++++++++++++*+++++%#+++++++*#++++==++==+++*++++::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::+#++#=-%++++++++**+++++++++++++++++++++++++**+++++++*:.:--*++++++++++++++*+++++#%*++++++*#+++++++++++++**++%-:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::*++#=:-%++++++++*+++++++++#++++++++++++++++**++++++*-...::=*+++++++++++++**++++***++++++*#+++++++++++++*#++#-:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::*=::::=*+*+::-%++++++**+++++++++*#++++++++++++++++**+++++*-......:++++++++++++++***+++*+*+++++++#++++++++++++++##+#-:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::#@=-:-%+*#-::=@+++++**++++++++++*#+++++++++++++++++*++++*=........:++++++++++++++*#++++++*++++++#++++++++++++++*#*#-:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::*@%%*****--=#@@*+++**+++++++++++**+++++++++++++++++*+++#-..........:*++++++++++++*%*+++*-**+++++#++++++++++++++**#%-:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::-%+#@%+#@@@@@%%*++*#++++++++++++**+++++++++++++++++*+**-............-*+++++++++++*%%*++*==*+++++#+++++++++++++++*+##-::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::*#%%**%%%%%%%%**#*+++++++++++++**+++++++++++++++++##+:..............-*+++++++++++#%#+++*-+*++++#+++++++++++++++*++##=:::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::-%##*#%%%%%%%%##*++++++++++++++#*+++++++++++++++++%%+-...............-*++++++++++*#+*++*=-**++*#+++++++++++++++**++#@=::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::*#*#%#%%%%%%%*+*#**+++++++++++#*++++++++++++++++#%#%%#=-.............-+++++++++++#-=*+**--#*+**++++++++++++++++*+++*%#-::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::=%*%%**%%%%%%#++**##**++++****#+++++++++++++++++#%%@@@%%*=:...........:+*++++++++*=.=***+-=#***++++++++++++++++*++++*%#=:::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::####%%%%%%%%%#+++++**####%%#*+*++++++++++++++++++*=+*%@@%%#*-..........:=*++++++++*:.:+#%=-=#%*++++++++++++++++*++++++*%#*-=++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::-%%@#%%%%%%@@@#++++++++++#@%+++**++++++++++++++++**=.::=*%@@@@#+..........:+**+++++*+:..:==::=%*++++++++++++++++**+++++++*%@@@@++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::#%#-#@@@@@@#***++++++++++%@%+++**+++++++++++++++#%%###*+++#@@@@%=...........:=+*****#=.......:#++++++++++++++++++*+++++++++*%@%++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::-%%=::-***--::#*++++++++++%*#+++**+++++++++++++++%%%@@@@@@@@@@@@@+..............::-------===+--*++++++++++++++++++*++++++++*#%++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::*%+::::::::::=@*+++++++++*@*#+++*#+++++++++++++++#%%%@@@@@@@@@@@@=..............-*########**#%#*+++++++++++++*%+++*+++++++#%==++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::-%%-:::::::::-%%*+++++++++#***++++#++++++++++++++++++*=:--===++*#*:.............:#@@@%%#######@%++++++++++++++#%*++*#***#%%@***@@++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::*@#:::::::::-###++++++++++%=**++++#++++++++++++++++++++.........................-@@@@%@@*+----=*++++++++++++++#*#++*%%%%%%%%%**@*++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::-@%-:::::::::*%*#+++++++++*#:**++++**++++++++++++++++++*:.........................*@@@%%%%%#*+-+++++++++++++++*#+#++*%%%%%%%%#=##+++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::*@#:::::::::=%**#+++++++++#*:**++++**+++*+++++++++++++++=..........................:=#%@@@@@@@@%++++++++++++++#++#*++%%+%%%%%##%++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::*@=::::::::-##**#+++++++++%-:**+++++#+++#*++++++++++++++*:............................:-+#%@@@@%*++++++++++++#*++*#++%%@%%%%*%#=++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::-%@-:::::::-##**#*++++++++#*::*#++++*#+++#%++++++++++++++*=................................:=*%%%*+++++++++++#*+++*#++%%%%%##%*--++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::=@*:::::::-##***#*++++++++%=::*#++++*#*++#%#++++++++++++++*:.................................:***+++++++++++#*+++++#+*@@%#%%#=::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::#@-::::::-##****#++++++++*#:::*%++++**#++####*++++++++++++*+.................................+*+++++++++++*##++++++#+*#@@#*-::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::-@#::::::-##*****#++++++++#=:::-%++++**#*+*#*#%#*+++++++++++*+:.......-==-===-:..............=#*+++++++++*#*+#*+++++%+*+--:::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::+%*:::::=##*****#*+++++++*#::::-@*+++#*##++#**####*++++++++++#*:.....-+=======+=-:...........:=+******###*++++*#+++*%+*-:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::#%=::::=%#******#++++++++#=:::::*#++*@#*##+##*##++*##******#*=:......=----------++=:............::*#**#*+++++++#*++#@*#-:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::-%%-::-+%#*###**##+++++++*#::::::=%++#@%######*##+++++******#-.......:=------------+:..............+*++*#*+++++++#*+%@#*::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::=%%-:=##*#*#*#**#*+++++++#=:::::::##+#+#%###%%*##+++++++++++*+.......==------------+...............=#+++##***+++++#*#@%=::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::*%@+#%##***#**#*#*++++++*#::::::::=%*%--*%%#%%##%*+++++++++++#-......=------------=-...............+*+++*#*#**#*++*%*#=:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::*%@%#***#*****###++++++*%-:::::::::#%%-::-#@%%####++++++++++++*......=-----------==..............:=*+++++##*##%%#*+*#-::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::--*@%##*#*********#*++++++%*::::::::::-#@-::::-*@@@%%*+++++++++++*+.....:::--------==:.............-*#*+++++*#**###*#**%=::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::--**%%%##*##**********#++++++##-:::::::::::-+:::::::-=**#*+++**+++++++*-.......:::::::=-:............-*##***+++++##**##+*#*%*::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::-=*%%####***************##+++++*%-:::::::::::::::::::::::::*%++++***++++++*-.........................:=*#*%#***+++++*#**##++%%%*::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::-=*%%##********************#*++++*%=::::::::::::::::::::::::::-@*++++***+++++**:......................:=*+-:-%#****+++++##*%*+**=@*::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::-=*@%#####*******************##++++*#-::::::::::::::::::::::::::::*%++*#%%%%%#**+*+...................:-+==-:::-@#****+++++*#%#++#-:==::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::-*%%######*#******************#%*++*##-:::::::::::::::::::::::::::::-@%%%#*****#####%+::.............:-*==::::::::*#*****+++++##++*#::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#=*%#######*******************#**##+*##=:::::::::::::::::::::::::::::::=@#*************##*+-::::::::=+*++-:::::::::::*#*****+++++**++#=::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%@%#****##***********************##*%%=::::::::::::::::::::::::::::::::=@#*****************##*+=#####%%%@*=:::::::::::*%******+++++***#:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=#%%##******#***********************#%#%*-::::::::::::::::::::::::::::::::-##**********************#%%%%%%%%%@@#=:::::::::*%******++++++#%=:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::::::::::*%##********************************#%%#=::::::::::::::::::::::::::::::::::#%**************************#%%%%%%%%%@*::::::::*%******++++++*@-:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::::::::+%##**********************************#%#-::::::::::::::::::::::::::::::::::=%*****************************#%%%%%%%@#-::::::-#%*******++++++#*:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::::::=###***********************************#%#-::::::::::::::::::::::::::::::::::-##********************************#%%%%#%#=::::-#%%*******++++++*%-::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::=%#************************************#%#-:::::::::::::::::::::::::::::::::::*#************************************#%%#%%#=::#%##*******+++++++#*::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::::=%#************************************#%#-:::::::::::::::::::::::::::::::::::=%*************************************%%@@@%@@#*%##%#*******++%*++*%-:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::=%#************************************#%*:::::::::::::::::::::::::::::::::::::##***********************************##%%%%%%%%%%%%%@%%%##***++%%*++#+:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::@#************************************#%#-::::::::::::::::::::::::::::::::::::=#***********************************%%%%%%%%%%%%%%%%%%%%@%#**+*%@%*+*#:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::+%#**************************####*****#%#-:::::::::::::::::::::::::::::::::::::#************************************%%%%%%%%%%%%%%#%%%%%%%%#*+*%*#%++%=::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::##****#***************##*###%%@@%#****%#-:::::::::::::::::::::::::::::::::::::=#***********************************#%%%%%%%%%%%%%%%%%%%%%%%%***%*+@#+%*::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::%###*******************##%%**-+@#****##-:::::::::::::::::::::::::::::::::::::-*************************************%%%%%%%%%%%%%%%%%%%%%%%%%%##%@@@%*%*::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::+%##******************#%%*=-::-#%****#%=::::::::::::::::::::::::::::::::::::::+#***********************************#%%%%%%%%%%%%%%%%#%%%%%%%%#**%%%%%%@@#*-:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::+%###***************#%%=-:::::#%##*#*%=::::::::::::::::::::::::::::::::::::::=#************************************#%%%%%%%%%%%%%%%+-#%%%*-::..:%%%%%%%%@@@#=:::::::::-++++++++++++++++++++++++......................++++++++ +..........................::+%#***************#%#*-::::::=@#****##:::::::::::::::::::::::::::::::::::::::#********##***************************%%%%%%%%%%%%%%%+-:-*+-......=%%%%%%%%%%%%@#::::::::-++++++++++++++++++++++++......................++++++++ +..........................::+##*************#%%=::::::::-##****#%-::::::::::::::::::::::::::::::::::::::=#*********#%**************************%%%%%%%%%%%%%%*-::-:.......:#%%%%%%%%%%%%%@=:::::::-++++++++++++++++++++++++......................++++++++ +..........................::+##************#%*-:::::::::*%*****%=::::::::::::::::::::::::::::::::::::::-#***********#%************************#%%%%%%%%%%%%%#--::.........+%#%%%%%%%%%%%%@%*******=++++++++++++++++++++++++......................++++++++ +..........................::+%#***********#%=::::::::::-@#****#%-::::::::::::::::::::::::::::::::::::::*#*************##**********************#%%%%%%%%%%%%%=-:..........-%%%%%%%%%%%%%%#####****%#++++++++++++++++++++++++......................++++++++ +..........................::*%#*********#%%#:::::::::::=%*****%-::::::::::::::::::::::::::::::::::::::-%***************##*********************%%%%%%%%%%%%%+-:...........#%%%%%%%%%%%%%-::......:%+++++++++++++++++++++++++......................++++++++ +..........................::=%#********#%%%#:::::::::::###***#*:::::::::::::::::::::::::::::::::::::::##*****************#********************%%%%%%%%%%%%#-:.........:.-%%#%%%%%%%%%%*.........=#=++++++++++++++++++++++++......................++++++++ +..........................:::@#*******##%%%#::::::::::-%#****%-::::::::::::::::::::::::::::::::::::::=%*******************##******************%%%%%%%%%%%%+::......::::.:*%%%%%%%%%%%%-...:....:#=-++++++++++++++++++++++++......................++++++++ +..........................:::##******##*#%%#::::::::::*%****#*::::::::::::::::::::::::::::::::::::::-%********************%@%*****************%%%%%%%%%%%@%+:............:#%%%%%%%%%%#::=+=:...*#:-++++++++++++++++++++++++......................++++++++ +..........................:::=%#****#*=*#%%#::::::::::*#****%-::::::::::::::::::::::::::::::::::::::*%*******************%@#*##***************%%%%%%%%%%%@%%*:.........:=#%%%%%%%%%%%+..:::=.:+#-:-++++++++++++++++++++++++......................++++++++ +..........................::::##***#%==*#%%#:::::::::-%#***#*::::::::::::::::::::::::::::::::::::::=%********************@%***##**************%%%%%%%%%%%%%%%%=:....:=#%@%%%%%%%%%%%%:....=-:##-::-++++++++++++++++++++++++......................++++++++ +..........................::::+@#**%*:=*#%%#:::::::::-%#***%=:::::::::::::::::::::::::::::::::::::-##********************%@#****##************%%%%%%%%%%%%%%%%%#+-+#%%%%%%%%%%%%%%%%*....-=+%*-:::-++++++++++++++++++++++++......................++++++++ +..........................:::::#%##%::=*#%%#:::::::::=%***##::::::::::::::::::::::::::::::::::::::*%**********************%@%%%%@@%***********%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%+..-+=+#=:::::-++++++++++++++++++++++++......................++++++++ +..........................:::::=@##*::=*#%%#:::::::::*#***#*:::::::::::::::::::::::::::::::::::::=%************************#%%%%%@###*********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=::--+%-::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::=@@*::=*#%%#:::::::::*#***%-::::::::::::::::::::::::::::::::::::-@#******************************%@####*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#---=##-:::::::-++++++++++++++++++++++++......................++++++++ +..........................:::::::#@*::=*#%%#:::::::::*#**#%-:::::::::::::::::::::::::::::::::::-#%*******************#%%%#*******#%@%%%%******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%*-::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::@*::=*#%%#:::::::::*#**#*::::::::::::::::::::::::::::::::::::*%*******************#%%#%@%********#%%%###****#%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%#-::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::@#::=*#%%#:::::::::*#**#*:::::::::::::::::::::::::::::::::-*#%********************#@***#%@*************#%#**#%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%#%=:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::*@=:=*#%%#:::::::::*#**#*:::::::::::::::::::::::::::::::-*@%#*********************#@#****@%************%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-:::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::::::::@*:=*#%%#:::::::::*%**#*:::::::::::::::::::::::::::::::*@#************************%@%***#@***********###*#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::=:=*#%%#:::::::::*%#*#*:::::::::::::::::::::::::::::::*@**************************#@@%*#@%%%%%%#****%##**##@%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%*::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::-%#*#*:::::::::::::::::::::::::::::::*@****************************%@@%@@%##%@@%**##*#****#@%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%@=::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::*%###::::::::::::::::::::::::::::::-#%******************************##@@#****#@###********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@-::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::-%#*%-::::::::::::::::::::::::::::-##*********************************#@@%####@###*********#%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%@%%#:::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::*%##*:::::::::::::::::::::::::::-%#************************************#%@@@%###***********#%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%@%@*:::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::-###%-:::::::::::::::::::::::::-##********************************************#************###%%%%%%%%%%%%@%%@%%%%%%%%%%%%@%@-:::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::-#%##-:::::::::::::::::::::::-##***************************#%%##************##************%#*#%%%%%%%%@%%%%@%%%%%%%%%%%%%%%#::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::-#%@#-::::::::::::::::::::::##**************************#%%%%%@%#*********#@#***********%@#***#@@%%%%%%@@@@%%%%%%%%%%%%%%@*::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::-*#@*-:::::::::::::::::::=%**************************#%%%%%%%%%%********%@#***********@%****#*=@@@@@#*--=*#@@%%%%%%%%%%@*::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::=#%-:::::::::::::::::-%***************************%%%%%%%%%%%%******#*@#**********#@%****%*:-=**-:::::::--*#@@@%%%%%@-::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::-::::::::::::::::::*#***************************%%%%%%#%%%%%%****#@-@#**********%%%****%*:::::::::::::::::--**#@@@#:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::=%****************************%%%%%==+%%%%@****%*-@#**********%-%***#%*::::::::::::::::::::::---::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::-#*****************************%%%%%*=+%%%%@***%#--@#*********##-%#**#%*:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::*#*****************************#%%%%%%%%%%%%**#@=:-@#*********%*-@#**#%*:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::=%**********#%******************#%%%%%%%%%%%#**##:::#%*********%=:##**#%*:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::-##**********%@******************##%%%%%%%%%****#@-::*%********#%-:*%**#%*:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::*#***********%%#*****************#*+%%%%%#*******%*::=@#*******##::-%#**%*:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::=%***********#%%#*****************#*+#*#+#*********%-:-@%*******#*:::*#**%*:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::-@#***********#%%%*******************+#**#*#********@+::*@#******%*:::=%#*##:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::*%************%%%%*******************+#**#*##******%@-::-@#*#****%*::::*%##@=::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::-@#************%%%%#***************#**+#***#*%****#*#@=:::=@###***%*::::-###%#::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::*%*************%%%%%***************#*#+#***#+%#***%**#@=:::#@#****%*:::::-%%#@=:::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::-@#************#%%%%%#**************#+#+#******%***%#**#@=::-#@#***#*::::::-#%@@#::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::*%*************#%%%%%#**************#+#+#****#+%#**%@#**#@=::-*@%#*#%-:::::::=*##::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::-%#*************%%%%%%%**************#+#+#****#+*%#*#%%#**#@=:::-#@%#%#=-:::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::*%**************%%%%%%%%**************+#+#*****#+%%*#%@%%**#@=::::=#@@@@@+::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::-%**************#%%%%%%%%***************%+#*****#+#%##@%%%%#*#@=:::::-****-::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::=%**************#%%%%%%%%%************#*%********#*%%#@%%##%#*#%=::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::##**************#%%%%%%%%%#*************%********#+#%%%%%####%##@=:::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::-%***************%%%%%%%%%%%#************%***********%%@%%#####%%%@-::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::*#***************%%%%%%%%%%%%**********#*%#********#+%#%%%#######%@#::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::-%#**************#%%%%%%%%%%%%%*********#+%#+#******#+#%#%%########%@=:::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::=%***************#%%%%%%%%%%%%%%********#+##+#*******#+%##%#########%@*::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::*#***************#%%%%%%%%%%%%%%@#******#+##*#*******#+##*%##########%@=:::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::-#****************%%%%%%%%%%%%%%%%@#*****#+#%*********#**%#*############%=::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::*%****************%%%%%%%%%%%%%%%%%@@%#**#+#%*******##+*+%#+#############%*:::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::##****************%%%%%##**+===----@-#==+*+#%**#####+:.-+*%#+#############%#-:::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::-%****************#%#+=-:..........:%-+:..:+###*-:::....:*+#%+*#############%#=::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::=#*****************-...............:%-+-..:+###+-........=+#%#+##############%@=:::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::*#****************+................:%--+..:+*##*=........:*+#%+*##############%@=::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::-%*****************+................:%--*:.:+*%%*+.........+=#%#=###############%@=:::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::*#*****************=................:%-:+:.:++%%**:........-+*%#++%##############%@=::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::*******************-................:%-:=-.:++#%#*-........:*+%%#*%###############%#-:::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::-%******************:................:%-::+..+=#%#++.........*+#%@+#################%#=::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::=#******************:.................%-:-#:.+=#%%#*.........+###@+*#################%#-:::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::+#*****************+..................%-:-%-.+*###++.........=@*=#+#%#################%#-::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::+******************+..................#-::*=.=%+**++.........-%%*==*#%#################%#-:::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::-#*******************..................#-::=*.:=*+=++.........-%#%===-+%#################%#-::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::=#******************#:.................*-::-#:.:++=+#=........:%##=----###################%#-:::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::+#******************%=.................*-:::#-.-*===-*:.......:%##*==+=*%##################%#-::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::*******************#**.................+-:::=+:=+*=*=+=.......:##%#++*#%####################@#::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::-#******************#*#:................+-:::-#:++#+#=*:........##%%###%######################%=:::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::-*******************#=+-................+-::::+-++*+**=.........#%##%%%#########################-::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::+*******************#--+................=*::::*+-*##*-..........#@###############################-:::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::-%*******************%--#:...............=*::::-#:...............*@%#############################%#-::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::-#*******************%-:#-...............-*:::::#-...............+%@%#############################%#-:::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::+#*******************%-:**...............-*:::::*+...............=*#%##############################%#-::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::**********************::-%-..............:+:::::=#...............-#-@###############################%#::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::-%*********************:::*+..............:*:::::-%:..............:#-#%###############################@=:::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::-#*******************#*:::=#..............:%-:::::+-...............+*=@%###############################@-::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::=#*******************#*:::-%-..............%-:::::*+...............:%-#%###############################%#::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::*#*******************#=::::+=.............:%-:::::*#................**=@################################@=:::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::+********************#-::::++.............:%-:::::-%:...............-%-#%###############################%@-::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::-%********************#-::::++.............:%-::::::*=................*=-%################################@*::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::-%********************%-::::*+.............:@-::::::**................=*:#%#####################%%########%@=:::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::*#********************%-::::*+.............:@-::::::-%-...............:%-=@####################**######%%%#@#-::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::*#********************%-::::*+.............-@-:::::::*+................*=:#%#################%*--=======++#%@#*:::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::-@*********************%-::::*+.............-*::::::::-*:...............=#:=%##################%=-======-=-==++%=::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::-%*********************%-::::*=.............-*:::::::::+=...............:%-:#%#################%*=====-+++=====*#-:::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::=%*********************%-::::#=.............=*:::::::::=#:...............*-:*@##################%=====+%@%#+-===%*:::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::*%*********************+:::::#-.............=*::::::::::#-...............=+:-#%#################%*====#@--=%=---+@-::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::*%*********************#::::-@-.............+*::::::::::**...............:*::*@###################====#%=::*#=--=#*::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::-@*********************@-:::-@=.............+*::::::::::-%:...............#-:-@%#################%*==-+##-:-#==-=+@-:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::##********##**********@-:::-@-.............+*:::::::::::*=..............-#*::*%##################%===+*#@#@%=---=%*:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::=%*******##*##********@-:::-@=.............+*:::::::::::-#.............-=-+::-@%%%###############%*===***##+==--=*#:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::##******#=--+*#******@-::::#+.............+*::::::::::::#-...........--::#-::=**@@@@@@@@@@%@%%%##%=--=*#+#===--=+%-::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::=%******#====-+##****@-::::**.............**::::::::::::=*.........-=-...+=:::::-----------***@@%%*---=*+#==---==#*::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::##*****#=======+###*%-::::*#:...........:#*::::::::::::-%-:..:::-=-.....++:::::::::::::::::::-=*@@+===++*===----*@-:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::-%******=========+*#%=::::=%+--:......-=-#-:::::::::::::=*=====-::....:=*%-:::::::::::::::::::::-#%%#++#**==----=%=:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::*%****#====++-==-==#*::::-%-:-==---=--:.#-:::::::::::::-#:::.......:-+++#=:::::::::::::::::::::::-=%=+*#%*+===-=%*:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::-##***#===+%@*==-==*@-:::-@=............#=::::::::::::::*=::....::-+++=:=*::::::::::::::::::::::::-%:.::-=+*%%*##=:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::-##**#===#@-#%=-==+@-::::**::.........:%*::::::::::::::-%+=====++++=-..-*::::::::::::::::::::::::-@-.=-...:*@**-::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::-@#*#+==#%*-##-===%-::::=%++=-::::-==+%*:::::::::::::::**++++++==:.....*-::::::::::::::::::::::::#=.-+....:**::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::=%##+==*#%*+%====%-::::-%+++++++++++=**:::::::::::::::-#::::::........+=::::::::::::::::::::::::**.:*:....:#=:::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::-#%*=-=#*%#%*===%*:::::#-:--=====-:.=*::::::::::::::::*-.............-+::::::::::::::::::::::::=%::*:..=:.-#-::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::-#%===+##=#+===#*:::::*=...........=*::::::::::::::::-*.............:*::::::::::::::::::::::::-@=.==..-=..#*::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::-##=-=**=*-===#*:::::*+...........-@-::::::::::::::::+-.............*-::::::::::::::::::::::::**.-+..:+:.=@-:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::-##+=*-+=-===**:::::-*:..........:@-::::::::::::::::=*.............+:::::::::::::::::::::::::-%++*:..==.:%-:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::*%*#-*====-+#:::::-#:..........:%-:::::::::::::::::#=............==:::::::::::::::::::::::::*%%#:..-*.:#-:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::=%*=#+*====-+@-::::-%-...........#-:::::::::::::::::=#:...........-+::::::::::::::::::::::::::=*@=..=%-:%+:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::*#-+:+#+=====@-:::::*=...........#*::::::::::::::::::#=...........:+::::::::::::::::::::::::::::*%*=*@**%-:::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::*+:+=--*#+===%=:::::**...........**::::::::::::::::::=#...........:#-::::::::::::::::::::::::::::-***#%--::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::-@+.:=-.:%@#+=%*:::::-#:..........+*:::::::::::::::::::+-...........*-:::::::::::::::::::::::::::::::::-::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::-@=......+*=++#-:::::-%-..........=#:::::::::::::::::::-*...........+=::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::-@=......-%-::::::::::*+..........:@-:::::::::::::::::::+-..........=+::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::#=..:....*=::::::::::*#..........:%-:::::::::::::::::::-+..........-+::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::*+.:=....=*::::::::::-%:..........#=::::::::::::::::::::*:.........:#-:::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::*#..+:..::%-:::::::::-@=..........**::::::::::::::::::::+=.........:#-:::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::=%:.+=:.=:#-::::::::::**..........=#::::::::::::::::::::**..........**:::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::#+.-*=.++**::::::::::=#:.........-@-:::::::::::::::::::-#:.........=%-::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::*#::**:+#**::::::::::-%:.........:%-:::::::::::::::::::-@-..........*#::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::-@+-*#=#%#*::::::::::-#:..........#*::::::::::::::::::::#+..........:%=:::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::=#%@@%###-::::::::::*%:.........:*#::::::::::::::::::::*#...........*#:::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::-==-:::::::::::::-@#:..:-++****%@-:::::::::::::::::::*%:..........=@=::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::-@%-:=#%%%%%%%%@*:::::::::::::::::::*@-.......:::-@#::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::-@%#*%%%%%%%%%%@*:::::::::::::::::::*@+...:-+*####%@-:::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::-@%%%%%%%%%%%%%@*:::::::::::::::::::*@#:-+#%%%%%%%%@-:::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::::::::::::::#@%%%%%%%%%%%%@*:::::::::::::::::::=@@#%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#:::::::::::::::::::::::::::::::::::::::::::::::::::=@%%%%%%%%%%%%@*:::::::::::::::::::-@%%%%%%%%%%%%%@*:::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::=*#%%#::::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%%%%%%%%%@*:::::::::::::::::::-@@%%%%%%%%%%%%@=:::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................::::::::::::-=#%%#::::::::::::::::::::::::::::::::::::::::::::::::::::=@@%%%%%%%%%@#-::::::::::::::::::::=@%%%%%%%%%%%%#::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++++++++++++++......................++++++++ +..........................:::::::::::::-#%%#-::::::::::::::::::::::::::::::::::::::::::::::::::::-*****@@@**=-:::::::::::::::::::::-#@%%%%%%%%%@#-::::::::::::::::::::::::::::::::::::::::::::::::=++++++++++++++++++++++++......................++++++++ +.........................:::::::::::::::#%%%#**************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#@@@@@%##*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.............................. +..........................::::::::::::::+++++++++++++++++++=---------------------------------------------------------------------------=====-------------------------------------------------------------------------------.............................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.............................................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.........................::......::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +............................:-----============+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************-----................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................-------- +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%*%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*##%+-+%**#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*##%@@@@%=---=%@@@@@##*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++:........................++++++++ +..........................::-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*##@@@%%%%%%=-----=#%%%%%@@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%@@%%%%%%%%%=---*+===#%%%%%%%%%@##*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%+---+##+===#%%%%%%%%%%%@%#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%%*===-*##*====#%%%%%%%%%%%%%@%#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#%@%%%%%%%%%%%%%%%%%*=====##=+=====*%%%%%%%%%%%%%%%@@#+++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%@%%%%%%%%%%%%%%%%%%%*======##=-======*%%%%%%%%%%%%%%%%%@%*+++++%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%#=======##=-=======+%%%%%%%%%%%%%%%%%%@@#*+*@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%@%%%%%%%%%%%%%%%%%%%%%%%#========##=-========+%%%%%%%%%%%%%%%%%%%@@*#@+++%%++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%@@%%%%%%%%%%%%%%%%%%%%%%%%%=--======##*==-=====--+%%%%%%%%%%%%%%%%%%%%@@#+*%%@++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%+---======*###*+=-======*%%%%%%%%%%%%%%%%%%%@@@%@@@*++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-============###*=======+%%%%%%%%%%%%%%%%%%%@@@#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=========++===#%%#+=====+%%%%%%%%%%%%%%#%%%%@%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++*@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+========+#%##=*%%%#=====#%%%%%%%%%%%%%***#%%@#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======-=#%*##==##*======#%%%%%%%%%%%%#****%@@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=======*%*=**=+#*=+====+%%%%%%%%%%%%%*****@@@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=====*##%*-===##+#*====+%%%%%%%%%%%%#*****%@@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=====+#%#+--*####+====*%%%%%%@#**#@#*+++*%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======+#%#=+#%%#*=====*%%%%%%%****##*=-=##***%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#========##*#%##+======#%%%%%%%****+*+-:=*****#@++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======-=##%#+========#%%%%%%%***+---::-==+***@++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+-=======*##+-=======+%%%%%%%%#**+--:::::-++*%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======-=##=========*%%%%%%%%%%#*+-::::-+*##@*++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======--##=========#@%%%%%%%@@%*+-:--:-+*%@%###*+++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%========-*#=========%@@@@@@@@@***+--++--+**%%%%@@@##*+++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%@*=======-+#========+@@@%@@%@@#***++***++***%%%%%%%%%@%*+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++*#@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%=======-=*-======-*@%%%%%@@@#******%%*****%%%%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++#@@%%%@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%@+======-=*-=======#@%@@@@@%@#*****%%%%%%%%%%%%%%%%%%%%%@@#*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%%%@%%@#======--=-=======%@@%%%%%%%@%###@%%%%%%%%%%%%%%%%%%%%%%%@@*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%@@@%@%===+++++++****###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@#+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@#*+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@##*++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@##*++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%#***@#++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++*@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####****++*#+++##++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++*##%#******%*#############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%####*******#+++++++++++#*+++%++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++@*+++++*#++++++++++++++*********%*********##**************++++*#+++++++++++#*+++++++++++#*++##+++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++*%++++++**+++++++++++++++++++++++#+++++**+++#+++++++++++++++++++#+++++++++++#*+++++++++++*%*+*@*++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++##+++++**+++++++++++++++++++++++*#+++++****#%+++++++++++++++++++#+++++++++++**+++++++==+++#%*+%#++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%*+++++*++++++++++++++++++++++++*#+++++++++#%+++++++++++++++++++##++++++++++**+++++++=-=+++##*##++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++@*++++**+++++++++++==+++++++++++*#+++++++++#++++++++++++++++++++*#*++***++++*#++++==+=-=+++***##++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%+++++*++++++++++++-=+++++++++++**++++++++*+=*++++++++++++++++++**##*#***+++*#++++=-++--++++#+*@*+++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%++++*++++++++++++=--+++=+++++++**++++++++*--*+++++++++++++++++++*=*++++++++*#++++==++==++++**+*%#++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%+++**++++++++++++=--=+=-=++++++**+++++++*+:-++++++++++++++*+++++*-+*+++++++*#+++++++++++++++#+++#%+++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%+++*+++++++++++++=-=++=-=++++++**++++++*+:-:=+++++++++++++*+++++*=-+*++++++**+++++++++++++++*#+++*%#+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%++*+++++++++++++++-=+++=+++++++**+++++**:.::-*++++++++++++**++++*+--**+++++**++++++++++++++++#+++++##*+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%+**++++++++++++++++++++++++++++**+++++*:...::+++++++++++++*##++++*-:=#+++++**++++++++++++++++**+++++*#%#*+++**+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%#*+++++++++++*++++++++++++++++++*++++#-......:*++++++++++++*%#+++*+-:=#++++**+++++++++++++++++#++++++++#%@@@@#+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%*++++++++++++#+++++++++++++++++**++*#-........=++++++++++++*%%*+++*=-:+#+++#*+++++++++++++++++**++++++++++*%%++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++#*+++++++++++++#*+++++++++++++++++*+**:..........++++++++++++*#*+*++**-::=#++#+++++++++++++++++++#++++++++++*@*++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++#%*++++++++++++++#*+++++++++++++++++##*:...........:++++++++++++*#-+**+**-::=#*#++++++++++++++*++++**++++++++*%*+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++*#%#++++++++++++++++#*+++++++++++++++++#=..............-++++++++++++*+:-***#*-::=#%++++++++++++++*#++++#+++++++*%#++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++@%*+++++++++++++++++**+++++++++++++++++*................-++++++++++++*-.:-+*#+:::-#++++++++++++++*%#+++#++++++*%#+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++#%#*++++++++++++++*#*#+++++++++++++++++*:................-++++++++++++*:...::....-*++++++++++++++*#%*++**+++*%%*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++#%#*++++++++++*##*+#+++++++++++++++++*-.................:+++++++++++**:........=*++++++++++++++*%##+++##%%%#++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++#@%##*****##%%+++#++++++++++++++++++=..................:=++++++++++**=:......++++++++++++++++#**#*++#%*+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++*@%%%%*****+##+++#*++++++++++++++++#*--::................:=+*++++++**+=:.....*++++++++++++++*#++*#++*#++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++*@%%%%%*+++++#*+++**+++++++++++++++*%@@@%#*+-:::.............-==+++=-:.......:*++++++++++++++#*+#*#*+*@*+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++*@%%%%%%#+++++#*++++#+++++++++++++++#%%@@@@@@@@%#+:...........................-*++++++++++++++#++%%##++@@*++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++#@%%%%%%%%*++++%+++++#+++++++++++++++##%@@@@@@@@@@@=...............-++++***+++=*++++++++++++++#*++%%%%++%%@%+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++%@%%%%%%%%@#++++#+++++#*++++++++++++++++**==+*%@@@@@+...............#@@@%%%%%@@@%+++++++++++++**++*%%%@*+%%%@%*+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++*%%*%%%%%#%%%@%*+++#++++*##++++++++++++++++++=...:-=+##-..............:%@@@@@@@@@@@%++++++++++++*#+++*@%%@*+%%%%@@%*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++#@++%%%#*#%%@#*#+++#++++*##*+++++++++++++++++*:.......................:****###%%%@@%+++++++++++*#++++#@%%%#*%%%%%*#@%++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++#%*%%%*+#%%@*+%*++#+++*#*#*+++**++++++++++++*+...............................:::*#*+++++++++*#*+++++##%%%%%%%%%#+*%#++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++##*%%%%#%@*++##++#*++%%*##+++*%*++++++++++++*-................................-#+++++++++*###*+++++%+*@%@%@%%**##++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++@*#%%%#%%++++%*+##+*##%##*+++%%*++++++++++++*:...............................-**##***###%*+*#*++++%++#%%%%%##%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++##+%%%#@*++++##++%+##+*%##*++#%%#*++++++++++**:.................................*#*#***+#*++*#*+++*+++@@%%%%#+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++%+%%%##++++++%++*###++*#%#++*%%*###*++++++++**:................................**++++++*#+++*#*++#+++*%*%@%#+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++#*+%%##++++++##++#%#+++++*#++#%+++**#%#####**+:.....:=::::-:...................#*+++++++##**+*#+*#++++%%%#%@+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++%#%%##+++++++%+++##++++++##+*%++++++#:..............::--:.:-:-................#*++++++++%%%#**#*#++++*%++%%%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++%#%%##+++++++#*++++++++++*@%*#*+++++*+.......................:...............-%#++++++++**+*##%#*++++++++#%%*+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++#%##+++++++*%++++++++++*@%%#%*+++++#+.....................................=%#%+++++++++**++#%%++++++++++%#%+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++#%#%++++++++%*++++++++++%+*@%%++++++%#-.................................-*@%##*++++++++*#+++#%++++++++++#%%*++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++#%#@++++++++*%++++++++++%++@#*++++++*@@*:.............................:+#**%%%#+++++++++**+++##++++++++++%#%++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++#%#@+++++++++@++++++++++#*+%#++++++++##*#*-.........................:=##+++*@@%++++++++++#*++#@*+++++++++%#%*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++%#%+++++++++@#+++++++++##+#%+++++++++##**##=:....................:=**++++++%%%*+++++++++*#++#%%+++++++++*%#%+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++%#%*++++++++@#+++++++++##+*%++++++++++%%#%%%#==:.............::-*%#++++++++++##++++++++++**+##@*+++++++++@#%*++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++%#%#++++++++%#*++++++++*#++%++++++++++*@@@@@#****=-::..:::==+#%%#+++++++++++++%*++++++++++#*#*#%+++++++++#%#%++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++%##%++++++++%##++++++++*#++%*++++++++++*%%%@*++**##+=***#@@###*+++++++++++++++%*+++++++++++####%#++++++++*%#%*+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++%##%++++++++%##*+++++++*#++##+++++*+++++#%%%*#*****###*+%@%*++++++++++++++++++@#*+++++*++++*%###@*++++++++%###+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++###%*++++++#####+++++++*#++*%++++++*+++++%%%#%%#*++***+*#@@@@#*+++++++++++++++##**++++*##+++##**#%++++++++###%+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++##*##++++++#####+++++++*#+++%++++++**++++*%%@%%%##****#%#%@%%@@%*+++++++++++++*%**++++*##%*++##**%%+++++++*%#%#++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++##*#@++++++@####*++++++*#+++@*++++++**++++#%%%#%######**%#%%%%%%@@*++++++++++++%***+++***%%*+*####%*+++++++%##%++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++*%*#%*++++*%##*##++++++*#+++@*++++++**+++++#%%**##%#%%%%%%%%%%%%%@@++++++++++++%***++****#%#*+##**#@*++++++###%*+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%#*#%++++####**#*+++++*#+++@#++++++****+++*%%#+++*#****#%%%%%%%%%@*+++++++++++%****+****#%*%**%***#@++++++#####+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++%###@*+++%#*#**#*+++++*#+++@%++++++***##+++*%%*+*##%*+*%%%%%%%%%%%@*++++++++++@#***+****#%+#%+##***#%+++++*%###+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++##**%#++#%####*##+++++*#+++@#*+++++***#%#+++#%%##*+*%*#%%%%%%%%%%#%%++++++++++@#*********%*###*%#**#%%+++++%###+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++*%**#@++%#******#+++++*#+++%##+++++****#@%*+*%%%*+++*%%%%%%%%%%%%#*%#+++++++++@#****#####%*#*%*##***#%%++++%###+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++@#**%#*%*******#*++++##+++###++++*****#%%%*+*%%*++++*%%%%%%%%%%%#**%*+++++++*@%%##%#+=*#%*#*#%##***##%%+++%###+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++%#*##@%#*******#*++++##+++#%#*+++*****#%%%%*+#%%*++*%%%%%%%%%%%%#%#*@*++++*#%@%%@#-:..=%%*#**%%%*****#%%++#####++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++*%###%%##*******#++++#*+++*%*#+++******#%%%%**%%#*+*%%%%%%%%%*-..=#*#%+++*@@%%#%=.:+:.-@%+#**#@%******#%%+##*##++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++@##*##*********#++++%+++++@*##********#%%%%%+#%%**%%%%%%%#+-....:#**#%++%%%%%%%+..=:.-%*+##**%#*******#%%##*##++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++#%#************#*+++%+++++@**###%%##**#%%%%%#*%%%#@@@@%*=:......:#***#%#@%%%%%%#=+-..:%#+##**##******###%@%**%++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++*@##***********#*++*#+++++@#******#%%##%%%#%%%@@@%%%%#=.........=*****#@@%%%%%%%*-...:%@*##**#*******##*####*%++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++#%#***********##++*#+++++@#*********#%%%%%%@%%%%%%%%#=........:******###%%%%%%%#=...-%####***##*************%++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++*%#***********##++##+++++@#************%%#%%%%%%%%%%%*...:....=#****##*#%%%%%%%%#:..=%*%%#***************###%++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++*##***********##++%*++++*%#************#%###%%%%%%%%%#=..:::.-##***##***%%%%%%%%%+..*@+*@#*****************#%*+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++*%##***********#%**%+++++#%#**********###***#%%%%%%%%%%*:....:-*##*##****%%%%%%%%%#=-%@*+%%******************#@*++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++####***********##*##+++++#%#********###*****%%%%%%%%%%%%=.......=%##*****%%%%%%%%%%#%%%@**%******************##@*+++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++%#**************##*%*+++++##*****#%%#********%%%%%%%%%%%%#:...:=+##*******%%%%%%%%%%%%%%%%+%#******************#%%+++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++*###*************##*%++++++@#*****************#%%%%%%%%%%%%+.:=###*********#%%%%%%%%%%%%%%@**%*******************#%%++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++*%#***************####++++++@*******************%%%%%%%%%%%%#*#%%***********#%%%%%%%%%%%%%%%@*%#*******************#%#+++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++*%#*****************#%*++++++@**#****************#%%%%%%%%%%%%%%%%#*#*********%%%%%%%%%%%%%%%%%#%********************#@*++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++*##******************#%+++++++@**#****************#%%%%%%%%%%%%%%%%%##*********%%%%%%%%%%%%%%%%%%%#********************#%++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++*%#*******************%#+++++++@********************%%%%%%%%%%%%%%%%%%**********#%%%%%%%%%%%%%%%%@%#***************##****%#+++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++##*******************#@++++++++%***#****************#%%%%%%%%%%%%%%%%%***********%%%%%%%%%%%%%%@%%@%***************#%#***#%+++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++*%##*******************%#++++++++%***#****************#%%%%%%%%%%%%%%%%%#**********%%%%%%%%%%%%%%%@%%@#***************%%#***#%++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++%#*##*************#***#%*++++++++%***#*****************%%%%%%%%%%%%%%%%%%**********#%%%%%%%%%%%%%%%@%%%***************#@%***#%*+++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++##**#*************#%***#@+++++++++%***##****************#%%%%%%%%%%%%%%%%%***********%%%%%%%%%%%%%%%%%%@#**************#%%#***#%+++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++%#*****************%%***#%++++++++*%****#*****************%%%%%%%%%%%%%%%%%%**********%%%%%%%%%%%%%%%%%%%@#**************%%%#**#%*++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++%#*****************#@#***##++++++++#%****#*****************%%%%%%%%%%%%%%%%%%#*********#%%%%%%%%%%%%%%%%%%%#**************##%%*###%++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++@#******************%@#***##++++++++#%****#*****************#%%%%%%%%%%%%%%%%%%**********%%%%%%%%%%%%%%%%%@%***************##*@#**#@*+++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++%#******************#@%#***%#++++++++##****##*****************%%%%%%%%%%%%%%%%%%#*********#%%%%%%%%%%%%%%%%*##**************#%+%#*##%#+++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++#%*******************%*##***%#++++++++##*****#*****************#%%%%%%%%%%%%%%%%%%**********%%%%%%%%%%%#%%#++##**************#@++%##*#%+++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++*%*******************#%+*%***%#++++++++%#*****#******************%%%%%%%%%%%%%%%%%%#*********#%%%%%%%%%%%@*+++*#**************#%++#####@*++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++*@#******************#%*++%***%#++++++++@*******#*****************#%%%%%%%%%%%%%%%%%%**********#%%%%%%%%@%*+++++%**************##++*%#**%#++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++#%******************#%*+++@***%#++++++++@*******%******************%%%%%%%%%%%%%%%%%************%%%%%%%@#+++++++%**************##+++@#**%#++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++@#******************%%++++%#*###+++++++*%*******#%*****************#%%%%%%%%%%%%%#*************#%@@@@@#*++++++++#**************%#+++##**##++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++*%#****************##%+++++##*###+++++++#%********##*****************%%%%%%%%%%%%#************#%@####*+++++++++++##*************%*+++###*#@++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++#%*****************#%*++++++%**##++++++*@#*********%****************#%@%%%%%%%%#%***********%@%#*++++++++++++++++##************#@++++*%**#@++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++#%****************#%*+++++++%#*#@++++++%%**********#%#************#%%%@@%%%%#***##*******#%@#*+++++++++++++++++++##**********#*##+++++%#*#%++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++#%***************#%%++++++++*%##%*++++#@#***********#%%##%##%%%%%#*%%%%#*********##**##%@%*++++++++++++++++++++++##**********##%*+++++%#*%#++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++#%***************#%++++++++++%#*%%+++*@#*******************#%%%%%%%%%%%***********%%@@##*++++++++++++++++++++++++##***********#%++++++%*#%*++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++#%**************#%*++++++++++*@##@*++%%*********************%%%%%%%%%@*************%#*+++++++++++++++++++++++++++##**********#%*+++++*%#%%+++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++*%#************#%*++++++++++++*%#%%++@#**********************@@%%%%%%%*********#****%#+++++++++++++++++++++++++++%***********%#++++++#%%%++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++%#***********#%#++++++++++++++#%#%#+#%*********************#%*%%%%#*##********#%****%*++++++++++++++++++++++++++%**********#%++++++*@@%+++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++*%***********#%++++++++++++++++*%#%%*@*********************##+#***#*##*********%%#***%*++++++++++++++++++++++++##********#%%++++++*%%*++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++%#*********#@*+++++++++++++++++*%%@@%*******#*************##+#***#*###********#%%%%##%++++++++++++++++++++++++%#******##%%+++++++##++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++%#********%#++++++++++++++++++++#@@********%#************##*#****####********#%%%@%%%%++++++++++++++++++++++*%******##%%++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++#%*******#@*++++++++++++++++++++*@#*******#@%***********#*#*#****#*#**********%%%%%#%@%+++++++++++++++++++++@#*****#%%*+++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++%%******#%+++++++++++++++++++++%%********%%%***********#*#******#*#*#********%%%%%###%@#+++++++++++++++++*%#***##%%*+++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++%%*****%#++++++++++++++++++++*%********%%%%#********************####********%%%%%#####%@#+++++++++++++++@@@%%@@#*+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++%#****%#+++++++++++++++++++*@#*******%%##%%**********##********#*%*#*******#%%%%#######%@*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++%##*#%#+++++++++++++++++++%%******#%%##%%%#**********#**********##********#%%%%#########%%#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++%%##%#++++++++++++++++++*%******#%%%%#%%%%**********#*********##%*#******%%%%%###########%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++*%##%++++++++++++++++++%#*****#%%%%%###%%#*********#*********#*##******#%%%%%#############%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++*%%@*++++++++++++++++*%****#%%%%%%%%%#%%%#*******+#*********#*##*****#%%%%%%###############%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++%@%++++++++++++++++%****#@@%%%%%%%%%%%%%#*******%***********##*#**#%%%%%%%#################%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++*@%++++++++++++++##***%@@@%%%%%%%%%%%%%%#******%************%#*#%%%%%%%%%##################%%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++*#++++++++++++++#**#%%**@%%%%%%%%%%%%%%%#*****#**********#+%#+%%%%%%%%%%####################%%%*+++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++*%#*#@*+++@%%%%%%%%%%%%%#++*****#**********#+##*##%%%%%%@%######################%@#++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++*%#*%%*++++#@%%%%%%%%%#+-:..:+#**%************#%#*--=*#%%@@########################%@#*+++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++#%#*%%++++++*@%%%%%%%#-:.......-+*%+*********#**##*=...:-+@%@#########################%@#++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++%%*#%#++++++++%%##%%#=..........:+*%+##*****##=*+##*+.....-%*#@%#########################%%+++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++%#*#@*+++++++++*@%%%+:...........:+*%*%@@%##*=:.++###+:....:*++*@%#########################%@#+++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++*%#**@*+++++++++++%@%-.............:+#%*%###:.....=*#%#+=....:*+++*@%##########################%%++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++*@#**%*+++++++++++++@=..............:*#%*%#+*......-**%#*+....:*++++*%%##########################%%#++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++*@#**%#++++++++++++++**..............:*##**#+*......:*+##*+:...:*++++++@%###########################%%*++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++*%***#%++++++++++++++++%:.............:*#%*+*+*.......++##*=-...-*+++++++%%###########################%%%+++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++*%***#@*++++++++++++++++#+.............:*##*++*#.......++###==...-*++++++++%%############################%%++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++*%****%%++++++++++++++++++%:............-*#%++-##.......++###++...-#+++++++++%%##########################%###+++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++*%****#@*++++++++++++++++++#=............=*##++:#%.......=#%%%#*:..-#+++++++++*@%##########################%**%*+++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++*%****#%%+++++++++++++++++++*#............+%%%*+:+%:......=##*#+*:..-*++++++++++*@%##########################%**#%++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++*%*****#%*++++++++++++++++++++%=...........-*#%%#:-%:......:*=#++=...-++++++++++++*@############################**#%+++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++*%*****##%+++++++++++++++++++++*#...........:*+*=*:.*-.......++==#-...=+++++++++++++%%##########################%****%*+++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++*%*****##%#++++++++++++++++++++++%-..........=+==*-..==......:*+==*=...+++++++++++++++%%###########################****##++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++*%******##@*++++++++++++++++++++++*#.........:*===*-..-=.....:*+====*:..++++++++++++++++@%#########################%#****#%+++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++%%******###@++++++++++++++++++++++++%=........-*+==+=..:-.....-%===+=*-..*+++++++++++++++*@###########################*****#%*+++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++%%*******##%%++++++++++++++++++++++++*#........-#**=+=...-.....:*+=++=*-.:#++++++++++++++++%%###########################******%*++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++%#*******###%#+++++++++++++++++++++++++%=........-**=*:...-:.....:***==*:.:%+++++++++++++++++@%#########################%*******#%+++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++%#*******#%##@#+++++++++++++++++++++++++*#:........:=+-....::......:=***=..:%+++++++++++++++++*@###########################*******#@*+++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++@#********####@#++++++++++++++++++++++++++%=................:-........:::...-@++++++++++++++++++%%#########################%********#%*++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++*%#********#%##%@#+++++++++++++++++++++++++++#:................=..............=@++++++++++++++++++*@%#######%#%%%%%%%%%%%%%%%%#********#@*+++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++*@#*********%%%@@@*+++++++++++++++++++++++++++#*................-..............=@+++++++++++++++++++#@##%%%@@@@@%#########%@@@@%*********%#+++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++*%#*********%@@##*++++++++++++++++++++++++++++++%-...............::.............=@+++++++++++++++++++*@@@@%##*+++++++++++++++++*%#****##**#@+++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++*%**********#@*++++++++++++++++++++++++++++++++++*+..............................=@++++++++++++++++++++*##*++++++++++++++++++++++*%***#+=#**@*++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++*@#**********##++++++++++++++++++++++++++++++++++++#:.............................-%+++++++++++++++++++++++++++++++++++++++++++++++@***#==+#*%#++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++*@#***********@+++++++++++++++++++++++++++++++++++++#:..............................*+++++++++++++++++++++++++++++++++++++++++++++++##*#+===*#%#++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++*@#***********##+++++++++++++++++++++++++++++++++++++#-..............................=#++++++++++++++++++++++++++++++++++++++++++++++*%**=====#%@++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++%#************%*+++++++++++++++++++++++++++++++++++++*................::.............:#+++++++++++++++++++++++++++++++++++++++++++++++@#======+%@++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++%#************#%+++++++++++++++++++++++++++++++++++++#-................::..............*+++++++++++++++++++++++++++++++++++++++++++++++@*-+#+===#@++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++%%*************%*+++++++++++++++++++++++++++++++++++++*.................::..............=#+++++++++++++++++++++++++++++++++++++++++++++*%==#%**==+@++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++@******%%*****#%+++++++++++++++++++++++++++++++++++++#=................:*=..............:*+++++++++++++++++++++++++++++++++++++++++++++#*==#@%**==%*+++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++@*****#++##***%#+++++++++++++++++++++++++++++++++++++#:................+%*...............#+++++++++++++++++++++++++++++++++++++++++++++*%==#@@#*==%#+++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++@#****#=-=##**@*++++++++++++++++++++++++++++++++++++*+................:#*%:..............+++++++++++++++++++++++++++++++++++++++++++++++%+=+@@%#==%++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++@#***#*===+##%%+++++++++++++++++++++++++++++++++++++#+-...............**+%=..............-#+++++++++++++++++++++++++++++++++++++++++++++**--*%**+*%++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++%%***#======+%%+++++++++++++++++++++++++++++++++++++#:-=:............-#++**..............:#++++++++++++++++++++++++++++++++++++++++++++++%===**-##%*+++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++#@***#=-======##+++++++++++++++++++++++++++++++++++*=..:=-..........:#*+++#-.............:#++++++++++++++++++++++++++++++++++++++++++++++#+===+**=-*#++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++*@#**%==++=-=-+#+++++++++++++++++++++++++++++++++++%+:...--:........+*++++**..........:-=-**+++++++++++++++++++++++++++++++++++++++++++++*#====*#::.+#+++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++#%**%==#%#===*#++++++++++++++++++++++++++++++++++*%*+-....-=::....-#++++++%-....::---=-:.-#++++++++++++++++++++++++++++++++++++++++++++++%====+*-:..=#++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++*@#*%==#%%#==##++++++++++++++++++++++++++++++++++#+=++=:...::==-::**++++++**=------::....-*++++++++++++++++++++++++++++++++++++++++++++++%+-==+:::...=#+++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++#%*%==*%%%==##++++++++++++++++++++++++++++++++++#:.-+++=:....:-=*#++++++++#-.:........:=+%++++++++++++++++++++++++++++++++++++++++++++++#*-=+-..:...:**++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++%%%+=##%%==##++++++++++++++++++++++++++++++++++*...:=+++=::...:#+++++++++#=......::-=+++#++++++++++++++++++++++++++++++++++++++++++++++*%+**...-:...-%++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++*@@+=*#@%+=##+++++++++++++++++++++++++++++++++#=.....:=++++=--+*++++++++++#=======++++=:=+++++++++++++++++++++++++++++++++++++++++++++++#@@#:..:-...:*#+++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++%*-=#+*==##+++++++++++++++++++++++++++++++++#:.......:-++++*#+++++++++++#*+++++++=-:..-#++++++++++++++++++++++++++++++++++++++++++++++++*%-:=.=:..-+#+++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++#%=+*#=--*#+++++++++++++++++++++++++++++++++*...........:-=#*+++++++++++#*----::......:*+++++++++++++++++++++++++++++++++++++++++++++++++@--+.-=..+##+++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++%%**#==-*#++++++++++++++++++++++++++++++++#=.............-#++++++++++++*#:...........:%+++++++++++++++++++++++++++++++++++++++++++++++++@#+=:-*:-#%*+++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++%%#*--=*%++++++++++++++++++++++++++++++++%:............:#*+++++++++++++#-............#+++++++++++++++++++++++++++++++++++++++++++++++++**@%#%%#%%+++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++*#=%*--=+@++++++++++++++++++++++++++++++++*:...........:+*++++++++++++++#+............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++#*:=#+--+@+++++++++++++++++++++++++++++++#=............-#+++++++++++++++*#:...........=*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++@-=::+*-=@+++++++++++++++++++++++++++++++#:............**++++++++++++++++%-...........-#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++@:+::.=**@*++++++++++++++++++++++++++++++*............=#+++++++++++++++++#+...........-#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++@:+-=..+%#++++++++++++++++++++++++++++++*=...........:%++++++++++++++++++##...........:#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++@:==+..-%+++++++++++++++++++++++++++++++#-...........*#++++++++++++++++++*%:..........:#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++@--*=-.:=%++++++++++++++++++++++++++++++#:..........=@*+++++++++++++++++++@=..........:%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++#*.*=+.+-+%++++++++++++++++++++++++++++**..........:%#++++++++++++++++++++#+...........%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++%-=**:=#-*@*++++++++++++++++++++++++++#=..........+@+++++++++++++++++++++##...........%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++*%*%%+:%@%@#++++++++++++++++++++++++++@-.........:%*+++++++++++++++++++++*%:..........%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++*#**%-##++++++++++++++++++++++++++++*@:.........-@++++++++++++++++++++++*%:..........%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++*%%#++++++++++++++++++++++++++++%%:.........-@++++++++++++++++++++++##:..........%#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++*@%-.........-@++++++++++++++++++++++##:..........#@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%*.........=@++++++++++++++++++++++#%:.........:%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%%%-.::----:=@*+++++++++++++++++++++*%--=++**++==@@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@%%%#*#%%%%%%%@#+++++++++++++++++++++#@%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%@+++++++++++++++++++++#@%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%%%%%@+++++++++++++++++++++*@%%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*@%%%%%%%%%%%%@%++++++++++++++++++++++@@%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%%%%%%%@%+++++++++++++++++++++++#@%%%%%%%%%%%@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%@@@%%%%%@@%+++++++++++++++++++++++++#@@@@%%%%@@%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#####+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +.........................:::-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.............................. +..........................::::::::::::::=++++++++++++++++++=---------------------------------------------------------------------------------------------------------------------------------------------------------------.............................. +.........................................................................................................................................................................................................................................................`, + + `......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +......................................................................................................................................................................................................................................................... +.............................................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.........................::......::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +.................................::::::::::::=********************************************************************************************************************************************************************+...................................... +............................:-----============+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************-----................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++................................. +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................-------- +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++++.........................++++++++ +............................-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#%==#%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=======++*****+++++.........................++++++++ +............................-+++++++++++++++++++++++============================================================================##=--=#%=====================================================================+*****+++++.........................++++++++ +............................-+++++++++++++++++++++++===========================================================================%#=----=#%====================================================================+*****+++++.........................++++++++ +............................-+++++++++++++++++++++++===================================================================*####%#@*---+*=-=##===================================================================+*****+++++:........................++++++++ +..........................::-+++++++++++++++++++++++============================================================+##%@@@@@%%%%%*---=#%*===#@##================================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========================================================*#@@@%%%%%%%%%%%*----+%##+===#%%@@##+===========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=====================================================+#%@%%%%%%%%%%%%%%%+=====*%+++====#%%%%%@@##========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==================================================*#%@%%%%%%%%%%%%%%%%%*======*#========#%%%%%%%@@%#+====================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============================================*#@%%%%%%%%%%%%%%%%%%%%*=======*#=========%%%%%%%%%%@@%#+=================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================================##@%%%%%%%%%%%%%%%%%%%%%%*-=======*#========-+%%%%%%%%%%%%@@%*===============================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========================================*#@%%%%%%%%%%%%%%%%%%%%%%%%*=========*%*==-=====-+%%%%%%%%%%%%%%@%#=====*#======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================================*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%==========+*##*+=-=====*%%%%%%%%%%%%%%%@@*===@%======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===================================*#@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+==========-=*##*======+%%%%%%%%%%%%%%%%%@#=%@==*%@==================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=================================*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*=======+##*==#%%*====-#%%%%%%%%%%%%%%%%%%@#@#*%@@@==================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============================*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#====--=#%#%#=*%%%#====%%%%%%%%%%%%%%%%%%%@@@@@#*#===================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#===++=#%*+#*=+###+===+%%%%%%%%%%%%%%%##%%@@%*=======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%====*#%#+-++=*#*=====*%%%%%%%%%%%%%#***%%@%=========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+====+#%*=-=+#*+**===#%%%%%%%%%%%%#****#@@@*========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*-====+##+-=#####+===%%%%%%%%%%%%%*****#@@%#========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================+@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-====-+##+#%%%#+==-=%%%%%%%%%%%%%*****#@%%@========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=======+#####*+===-*%%%%%%%%**#%%*+=+*#@%%@#=======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+=======#%#+=======#%%%%%%#****##+-:=*%#**#%=======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*======-*%*-=======%%%%%%%#****+++-:=##****@*======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============================@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#-=====-+#+=======+%%%%%%%#+**+---::==+****@#======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============================#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======-=#+======-*%%%%%%%%#**+-::::::=***%%=======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============================*@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@+=====-=#========#@@@@@@%%@%#*+-::::=+*%@%========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%@%%%@*-======*======-=%@@@@@@@@%#**=:-=::-+*#@*========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============================*@%%%%%%%%%%%%%%@@@%@@%%%%%%%%%%%%%%%%%%%=======+======-+@@%%%%%@@****+=+*=--+**##========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============================#@%%%%%%%@@@@@@@@@@%@@%%@@@@@@@@@@@@@@@@@+++++==========#@@@@@@@@%******##*++***#@%=======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================*#@@%@@@@@@@@@@@@@@@@@@@@@%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%******%%*****#%%%@@#====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==========================*%@%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%%###%%%%%%%%@#==================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*===============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================*%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%*=============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===================+#%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=================*%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#===========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=================@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@===========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=================*##%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%#*============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================*#%****##%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@###=================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========================##+++++**+++*******########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########*##+##======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========================@*+++++*++++++++++++++++++++***********###################%####******#******+++++++#*+#+*#======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================*%++++++*++++++++++++++++++++#*+++*###***#+++++++++++++++++#*+++++++++**++++++++++++*#+*#*@======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================##+++++*+++++++++==++++++++++#++++++++**##*++++++++++++++++#*++*****++*#+++++++++==++#++#*%*=====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================@*+++++*++++++++=--++++++++++#++++++++++*=*++++++++++++++++*###******++#+++++++++--=+**+*###=====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================%+++++*+++++++++=--=+==++++++#+++++++++*--*+++++++++++++++++%*+++++++++#+++++++++=-=++#++*##=====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================*%++++**+++++++++=--=+=-++++++#++++++++*=:-++++++++++++++++++##+++++++++#*+++++==+=-=++*+++##=====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================##++++*++++++++++=--++=-++++++#+++++++*+--:=*++++++++++++++++***++++++++**+++++==++-=++**++*%=====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================##+++**+++++++++++==++++++++++#++++++++---:-*++++++++++++++++*++*+++++++**++++++++++++++#+++##====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================##+++*++++++++++++++++++++++++#++++++*-:---:++++++++++++**++++*-**++++++**++++++++++++++*++++#*===================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================##++*+++++++++++++++++++++++++#++++++-::--:-=*+++++++++++*++++*--**+++++*#++++++++++++++**+++*%===================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================##+**++++++++++*++++++++++++++#+++++:.::--:--*+++++++++++#*+++*+:-**+++++#+++++++++++++++*++++*#==================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================#%**++++++++++**++++++++++++++#****-....:::::=*++++++++++##++++*-:-**+++*#+++++++++++++++#+++++*%=================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================%#+++++++++++**+++++++++++++*%%%@@%##*=-::::-*++++++++++*%*+++*=::-**++*#+++++++++++++++#++++++#%================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================%*+++++++++++*#+++++++++++++#@@@@@@@@@@@@%#+:=*++++++++++*+#*+*#-::-+#**#+++++++++++++++*+++++++#*===============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================#*+++++++++++++#++++++++++++#%@%%@@@@@@@@@@@@%:+++++++++++##%@%%%%##%#%@%#+++++++++++++++**+++++++#%==============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================##++++++++++++++#++++++++++++*%#==%@@@@@@@%%@@@-:*+++++++++#@@@@@@@@@@@@@@#+++++++++++*+++**++++++++##=============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=====================#*+++++++++++++++#+++++++++++++#*=*%%%%%%%%#:-=**.=*+++++++*%@@@@@@@%#%%%@@%+++++++++++#*++**+++++++++*#============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++====================#*++++++++++++++++#+++++++++++++**+*%%%*=%%%%-...:..+*++++++*##%%%%%%+.:::+@#+++++++++++##+++*++++++++++*%+==========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============+##%%*+++++++++++++++++**+++++++++++++**#%#+=.+*%%=.......+*++++++**#%*#%%#....=@*+++++++++++##+++*++++++++++++#@%========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============#@@#*+++++++++++++*#*+++#++++++++++++++*%#+:...-##+........=*+++++**+#==#%%:...*%+++++++++++*##+++*+++++++++++*#@%========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++================#@#*+++++++++++*##%++++#+++++++++++++++#++=...++++.........-**+++#***=:-#%:...#*+++++++++++#+**++####*#*###%%@#+=========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======+#*======*#@@%#***+++***#*+*#++++#*++++++++++++++#+==:::==++..........:-++*##*-..=*#-...++++++++++++**++#+**%%#@@%*###+============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======#@@@@@@@@@@%%%%%%%%#***++++**++++#*++++++++++++++#*==---==+=...............++=:..==*:..:*+++++++++++#+++#***%%##%@%*===============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======#@#+%%%%%%%%%%%%%#+**+++++#*+++*##++++++++++++++*%=-:::-=+=...............++===-==*:..=*++++++++++#*+++#*#*%%%#%%@@%#+=*%@+=======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========*%*#%%%%%%%%%%%%#+##+++++#*+++**#++++++++++++++*%*-::::-*:...............++=---=+*..:*++++++++++#*++++###*%%%%#%%%%@@@%#@+=======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========*@*#%%#%%%%%%%@#+%%+++++#++++**#*++++++++++++++*#+==---=................=+-:::-++..++++++++++*##+++++*%**%%%%#%%%%%%%+*%========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==========*%##%#%%%%%%@%#+%@*++++#+++*%*##+++*++++++++++++*-::::.................:+-----=-:+*++++++++*#*#*++++*#+*@%%%%%%%%%%%#%#========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===========*%*#%%%%%@%=##*%##++++#+++#%#*#*++%%*+++++++++++*=:....................:----::+*#***+***###*++##++++++#%@%%%%%%#%%%#%=========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============*%*%@%@#*==#**#*#++++#+++###*##*+##%##**++++++++##=..........................::-=+%###*++*#+++##+++++#=*%%%%#%%%%#%*=========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============*%%@#=====@*#+=%++++#*+*#+##*##+*%%++*#########*+:...............................#*++++++**+++#*++++#===%@%%%%%%#%==========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================@*%==%*+++*#+#*+*%#*##*#%+++++++**:::.........-.......................:%*+++++++#*+++#*+++#====#@@%#%%%===========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================*%#@==#*++++#*#*++#%**#%%%++++++++*:...........:---::--::..............+%#++++++++#*++*#+++#=====*%%%%*============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================#%%#==##++++*##*++*@%*##%%*+++++++*=..................................=%#%++++++++*%%*+#*++#=======#%@=============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================#%%*===#+++++#%*++##%%####+++++++++*................................:*##*#*++++++++#@@#*%++##=======%%%============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================@%#====%++++++*+++%+=#@%##+++++++++**-.............................=%@#*###+++++++++#%%%%*+##=======#%%*===========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=====================+@@#====%+++++++++*@===*#@#++++++++++@%*:.........................=##=*@%#*#*++++++++*###@#+*#========%#%===========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=====================#@%=====#*++++++++%#=====+#++++++++++#*#%*-....................:+#*=====%%*#*+++++++++*##%*+*%========*%%#==========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=====================%@#=====#*++++++++%#======#++++++++++*#=*@%*=:..............:=*%#========@#%%+++++**+++*###++%=========%##==========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++====================*@@======#*+++++++*@+======#+++++++++++%@@%%****+=-::...:-+*#%#*==========*@@#*++++***+++###*+%*========####=========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++====================%%%======##+++++++#@=======#+++++++++++#%%%%#++**##+=-=+#@@%+==============%*+#+++++***++*######=========%#%=========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===================*@@*======##+++++++%@=======#++++++++++++#%%%%***+**#-+#*#@@@@*================%+++++****++*###%%=========%###========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===================%%@=======##++++++*%#=======%++++++++++++#%%%%%%%**+###*##%%%@@@#*=============**++++*****++##*#%%========#%#%========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==================*@@#========#++++++#%#=======#++++++*+++++*%%%%%%#%##*####%%%%%%%@@%*===========##++++****#*++##*#%%*=======%##*=======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==================%%@=========#+++++*#%#=======**+++++**+++++#%%%%%%######*#@%%%%%%%%%@%==========*%*+++****#%++*#**##%*======@###=======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==================@@#=========#+++++##%========#*++++***+++++*%%%#%#########%%%%%%%%%%%@#=========%%**+*#%###%#++##***#@*=====###%=======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=================#%@+=========#++++###@========##++++****+++++#%%%%%#*****+*%%%%%%%%%%%%%=========%%###*=-=##%%*+*#*#**#%#====#%##*======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=================@%%==========#+++*#*##========+%++++***#*++++*%%%%%%***##*#%%%%%%%%%%%%%*=======#*-##-....###%%*+%#**#*#%%====%###======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++================*%%*==========#++*###%#=========%++++***#%+++++#%%%%%%#**##%%%%%%%%%%%%##%=======#+.=-....:###%##+##***#*#%%===%##%======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++================%%%===========#+*##*#%==========%*+++****%#++++*%%%%%%#***#@%%%%%%%%%%%**#%=====#%=..:....:###%#%**%*****###@*=%##%*=====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++================%##==========##*##**#%==========##++*****%@#++++#%%%%%@%%###+=-+%%%%%%%***%#===%@%:..:....-###%@#%+%*******##%*%####=====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============#%%#==========%###***#*==========##++*****#%%#+++*%%%@%%%%%=.....:*%%%%%****%+=%@%*...-....-*##@#%%*##********#%%#*#*=====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============*#%#=========#%#****#%===========#%++*****#%%%#+*#%%%%%%%%+.......-%%%%%****#@%@%%+...-:....=##@+%#%%#*********###*#*=====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============##%*=======#%%#*****#@===========#@*+*****#%%%%%%%%%%%%%@*........-%%%%#*****%@%%%-...=:....-##%=*%@%*******#****####=====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============%#%======*%%##******##===========#%#+******#%%%@%%%%%%%@#:........*%%%%******%%@%#:..:+:....-%%===%%#**************##=====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============#%#%#====#%#*#*******%*===========#%%###****#%@@%%%%%%%%%:........-%@%%%#****#%#@%#:..:=:....=@*===*%#***************#=====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============###%#==*%##*********#@============#%%##%%%%##%@%%%%%%%%%%.........+##%%#%****%%%%@+....::...:##=====%##**************#*====================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============*##%#=%%#***********%#============##******##%%%%%%%%%%%%%:....::.-#*****%***#%%%%%:....:....+@@=====*%#***************##===================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============*###%###***********#@=============##********#*#%%%%%%%%%%:....::.:##****%***%%%%%%+.......:+%%@*=====*#****************##==================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============*###%##************%#=============##*******##*#%%%%%%%%%%=......:-##****#**#%%%%%%#:.....:*%%#%#=====*%#****************##=================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============@###***************%*=============##******##**#%%%%%%%%%%*.....-*%#****##**#%%%%%%%+.....+%###%@*=====##*****************##+===============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============%###**************#%==============##*****##****%%%%%%%%%%#....-%%#*****##**%%%%%%%%#:...-%%#%%%%#=====#%******************##+==============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============*%##***#***********%#==============##*****#*****%%%%%%%%%%%:.:-#%%#*****#**#@%%%%%%%%+..:#%%#%%%%@======%#******************#%*=============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============*%##***************#@+==============%#****%******#%%%%%%%%%%*+#%%%%%*****#***%%%%%%%%%#-:*%%%%%%%%@#=====*#******************##@*============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===========#%#*****************%%===============@#***%#******#%%%%%%%%%%@%%%%%%%*****#**###%%%%%%%%**%%%%%%%%%%@=====*%********************#@============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==========*%#*#***************#%================@#**%#********%%%%%%%%%%%%%%%%%%#****#*##*#%%%%%%%%%%%%%%%%%%%%@*=====##********************#%===========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========%%#*#****************#%================@#************%%%%%%%%%%%@%%%%%%#****#*#***%%%%%%%%%%%%%%%%%%%%%#=====*#*********************%%==========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========%%#*******************%#================@#************%%%%%%%%%%%@%%%%%%%****###***#%%%%%%%%%%%%%%%%%%%%@======%*********************#%*=========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======%%********************#%+================@#************#%%%%%%%%%%%%%%%%%%#**##%*****%%%%%%%%%%%%%%%%%%%%@#=====%**********************#%=========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======##*********************#%=================%#************#%%%%%%%%%%%@%%%%%%%**#*******#%%%%%%%%%%%%%%%%%%%%#=====@#***#******************#%========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=====%##*********************%*=================##*************%%%%%%%%%%%%%%%%%%%**#********%%%%%%%%%%%%%%%%%%%%%=====#%***********#**********#%*=======++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++====%##**********************%==================#%*************%%%%%%%%%%%%@%%%%%%#*%********#%%%%%%%%%%%%%%%%%%%@*====#%***********%#**********#%=======++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===%##**********************#%==================#%*************#%%%%%%%%%%%@%%%%%%%##*********%%%%%%%%%%%%%%%%%%%%#=====%#**********#%**********##*======++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==%%************************%#==================%%*************#%%%%%%%%%%%%%%%%%%%#%*********#%%%%%%%%%%%%%%%%%%%@=====@#**********%%***********#%======++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=%%*************************%===================@@**************%%%%%%%%%%%%@%%%%%%#%#*********%%%%%%%%%%@%%%%%@%%@#====%#*********#@@#**********#%#=====++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++#%************##***********##===================@@**************#%%%%%%%%%%%%%%%%%%##%**********%%%%%%%%%%@%%%%%%%@*====#%**#******##%#**********#%#=====++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++*%#***********##@#**********#*===================@%#**************%%%%%%%%%%%%@%%@%%###**********#%%%%%%%%%%@%%%%%@*=====#%#*#******%*##**********#%#=====++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++*@#**********#%%+%#**********##===================@#%**************#%%%%%%%%%%%%@@%%%*%#***********%%%%%%%%%%%@@%#@#======#%**#*****##=##**********#@*=====++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++%%**********#%#==%***********%===================*%*%#**************%%%%%%%%%%%%%%%%#*#************#%%%%%%%%%%%%%@*=======#%********#*=##**********#%======++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++*@#********#%%====%#**********%==================*%***%%*************#%%%%%%%%#%%%%%#***#************#%%%%%%%%%%%@*========#%#******##==##**********%#======++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++#%********#%#=====%#*********#%=================%%#****#%********###%%%%%%%%%%%%%%#*****#*************%%%%%%%%%%%*=========#%#******#*==##*********#%=======++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++@#*******#%*======@#*********##=================%%******#%#*##%%%###%%%%%%%%%@@%%********#************%%%%%%%%@#===========#%******##===##*********%%=======++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++@#******#@*=======%#*********#*=================#%*******#%%%#******#%%%%@@%%%%%%********#***********%%%%%%%%@*============#%******%+===##********#@*=======++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++*@#*****#@*========##*********#*=================+@*******************%%%%%%%%%%%#********##********#@%==%%%@@+=============@%****#%#====##********%%========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++#@#****#@*=========#%#********#*=================%%*****#**************%%%%%%%%%#**********%%#****#@%*===*@@%===============@#****##=====@#******##%=========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++#%#***#%*==========+@#********#*================*@#*****%**************#%%%%%%%***********##@@%##%%*======*#===============*%#***#%+=====@#*******%#=========++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++*@#**#%#============%%********#%================#%******@#*************%##*###%***********#*%%#@%*=========================%%***#%*======%*******#@==========++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++@#*##@==============%#*******#@===============*@#*****#@%*************%*#**#*%#**********%#*%+============================%#**##=======#%#*****#@*==========++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++@#*#@#==============*@#******#%===============#%******%%%************#%*#**#*%%**********%%###===========================%%*###========%#*****#%%===========++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++#%##@================*@##*****%*==============@#******%%%#***********##****#*#%**********#%%#%==========================#%*#%*========+@#****#%%============++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++*@#%#=================*%%##***##=============#%*******%%%%***********%#*******%#*********#%%%%%========================%%#%%*=========#%****#%*=============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++#@@#===================#%%#**#%=============@#******#%%%%#**********%#*****#*%%**********%%%@@+====================*#@@@%*===========%#**#%%===============++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++#@*=====================#%%##%*===========*@*******%%%%%%*********#%##****#+#%#*********%%%@@%==================*@@##+=============*%##%%*================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========================*#%@@#==========%#*******%%%%%%#********#%*#*****+*%#*********%%%@#%*===================================#@%%#===================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================*#@#========*@*******#%%%%%%%********##*#******+%%*********%%%%##%#==================================##======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========================================%#*******%%%%%%%%#*******##*#*****#+#%#*******#%%%%###%#=========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================================*%*******#%%%%%%%%%*******##*******#+*%#*******%%%%%####@%========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======================================@#*******%%%%%%%%%%#******#%*********+###******%%%%%#####@%=======================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================================#%*******%%%%%%%%##%%#******%********#=###*****#%%%%%######%@*=====================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===================================*##%*******#%%%%%%%%##%%%******%********#+*%##****%%%%%%#######%%#====================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++================================*#@@%%%******#%%%%%%%%%%%%%%%***#*%*********#+###***#%%%%%%#########%%===================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============================+*%#***#******#%%#%%%%%%%%%%%%%%****%*********#+#%***#%%%%%%%##########%%*=================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==========================*#%%#******#******%%%%%%%%%%##*+====****%*********#*+%#*#%%%%%%%%###########%@%================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=========================#%#********#*****#@%%%%%%%%#=-:......-##*%**********#=##*#%%%%%%%%#############%%===============================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++======================#*##*********##****#@%@%%%%%*-:..........-+*%*###****##%+*%#+%##%%%%###############%%*=============================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++====================+##************#****#@*#@%%%*=.............:+*%*%@@#+**+==*=##++::-+*%#################%*============================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==================*#%#************#****%%*=+@%#=:..............:+*%*%+#-.....:*=*%*+-...:#%#################%%===========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++================*%%#**************#**#%%====%%-................:+*#*#=*-......+++%#++...:#%%#################%#==========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===============*%#******************#%#=====*#.................:+*#*#=*:......:#=#%*+-..:*=%%#################%#*========================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============#%#*******************#@*=======%:................:++#*#=*:.......*+*%#=+..-*==@%##################@*=======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++===========*##********************%%=========#+................:++#*##*:.......=*+##+*-.=*==+@%##################%*======================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==========#%#*******************#%#===========#:...............:*#%**##:.......:#=#%##+.=+===*@%##################%%=====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++========#%#*******************##*=============#-................+#%%%#%:........*###**=.+=====*%###################%%====================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=======*%********************%#===============**................:*####%:........-#+=+*:.*======%%###################%@+==================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=====#%#*******************#%*=================#-................+##%+#:.........:++=#=:*======*@%###################%@*=================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++====%%********************#@*==================**................+++%@%:..........=+-=+*%=======*@%####################%+================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==*%#********************#@*====================#:...............+====#+..........+=---+%========#%####################%%*===============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=*%*********************#%======================#*...............*=*==-*+........:*==++=#=========%%#####################@*==============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++%%*********************#@+=======================#-..............+=**++=*........:*=*+#=**========*@#####################%@#=============================++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++%%**********************%*========================**..............=++#=+#-........:*=*+##%#=========%%######################@%============================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++%%**********************%*==========================#-.............:*#%*%=.........:****+*============@#######################%%===========================++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++%%**********************%#===========================*#..............::::*:..........:::..+============#%#######################%%==========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++%%**********************#%=============================#-.................-:...............*=============@%#######################%%=========================++++++++++++++......................++++++++ +..........................::=++++++++++++++++++%%***********************%*=============================**.................:-...............*=============*@########################%%========================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++#%***********************%*===============================#-.................-..............:#==============%%########################%#=======================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++@#**********************#%================================+*.................-:.............:%==============*@########################%%#======================++++++++++++++......................++++++++ +..........................::=++++++++++++++++%#**********************#@==================================%-................:-.............-@===============#%###########################+====================++++++++++++++......................++++++++ +..........................::=++++++++++++++++@***********************%*==================================**:...............:=.............=@================@%#######################%*#%*===================++++++++++++++......................++++++++ +..........................::=++++++++++++++++%**********************#%====================================#=................=:............=@================%%#######################%#*#@*==================++++++++++++++......................++++++++ +..........................::=++++++++++++++++#**********************%=====================================#*................-:............=@================+@########################%**#@*=================++++++++++++++......................++++++++ +..........................::=+++++++++++++++##*********************##======================================#:...............::............=@=================%%#######################%***#%=================++++++++++++++......................++++++++ +..........................::=+++++++++++++++#%*********************#=======================================#:...............-:............=%=================#%#######################%#***%%================++++++++++++++......................++++++++ +..........................::=+++++++++++++++*%********************#*======================================+*................=:............:#=================#@###%%%%%%%%%############%***#@%===============++++++++++++++......................++++++++ +..........................::=++++++++++++++++%********************#=======================================#-...............:=:.............+=================*@%@@##########@%%%%######%***#*%*==============++++++++++++++......................++++++++ +..........................::=++++++++++++++++%*******************#*=======================================*.................*:.............-*=================#+===============##%%####%#**#++@==============++++++++++++++......................++++++++ +..........................::=++++++++++++++++%*******************%=======================================*-................:#=.............:*=====================================*%@%##%**#==##=============++++++++++++++......................++++++++ +..........................::=++++++++++++++++##*******#%********##=======================================#.................-%*..............*========================================#@%@**#===%*============++++++++++++++......................++++++++ +..........................::=++++++++++++++++*%******#*+##******%=======================================*+.................*+#:.............=+=========================================#%###===##============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++%******#=-=%*****##=======================================#:................-#=*-.............-*==========================================+%%+++++@============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++##*****#=--+##***%*=======================================#=................++=#+.............:+===========================================@%=%#*+@============++++++++++++++......................++++++++ +..........................::=+++++++++++++++++*%******==-=+##**@=======================================+=--..............:%===#..............*===========================================@#=%%#*@============++++++++++++++......................++++++++ +..........................::=++++++++++++++++++%#***#*-=-===####=======================================*:.:=:............=*===#-.............+*==========================================#*=%@##@#*#%%**=====++++++++++++++......................++++++++ +..........................::=++++++++++++++++++*%***#+-======*@*=======================================%-..:=-:.........:#====+=............-+*==========================================##=*@**#*=::--+##===++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++%#**#==*%%+-==%#=======================================#+=...:--:.......=*=====#..........:--:*==========================================+%==*#++=...--.:+%*=++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++*@#*#=+#@+%===##======================================*=++=:...---:....:#======#:.......:--:..*===========================================%*--=%=:..:-++:.+%=++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++%%*#=*#@=##==##======================================#::+++-....:-=--:=*======++::---==-:...:*===========================================##--=%*:::.:==+:=%=++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++@%#=+#@+##-=%*======================================#..:=++=:.....::=%========#--:::......-+*+==========================================+%=-=@%-.-:.-+**#*=++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++*@@++#@@@*-=%======================================#+....-+++=-:....=*========*:........-=+++*===========================================%+-+@%*:.-:-+%%#==++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++*@*=#*#*=-=%======================================%-.....:-++++=---#*========*=.:.:::-+++=::*===========================================#*-##=#=.:--+%#===++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++#@**+*==-=@======================================%:.......:-=++++#%==========#+==+++++=:..:#============================================%+@*==%-.--*##===++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++#%#*#++=--=@=====================================*#...........::-=%*==========#+++===-:.....#============================================@@%===**::=%@*===++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++%=-=+#+---+@=====================================#*..............-#===========*=:...........+===================================================#+=##=====++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++*%:.--#*=--*#=====================================#=..............*#===========#+............=+==================================================#@+*======++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++#*:-..-=#+-**=====================================@:.............-#============**............=*==================================================#@+=======++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++#+:+:.---###*====================================+%..............+*=============#:...........-*============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++#+:+:....=%#=====================================#*.............:#==============%:...........:*============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++#+:+:....:#*=====================================#+.............+#==============#=...........:+============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++##:+-...:-=#=====================================#=............:#===============#+...........:+============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++*%:==:...*-%=====================================%:............=%===============#*............+============================================================++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++%*+++=..*+#=====================================%:...........:%*===============+#:...........+============================================================++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++*%%#+#*-*%##====================================#............=%=================%-..........:%============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++#@%@##%@@%*====================================*...........:#*=================%=...........%============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============================================#*...........=%==================#+..........:%============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============================================#+..........:##==================#*..........:%+===========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++==============================================%=..........-@===================##:.........:%#===========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================================*@-..........+#====================%:...:::::.:%%+==========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================================%%:.........:%#====================@=-+*#####+-%@#==========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================================#@%:.........-@====================*@%%%%%%%%%%%%@#==========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================================#@%-.........*%====================*@%%%%%%%%%%%%%@==========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================================#@%=-=+===++=##=====================@%%%%%%%%%%%%%@==========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================================#@%#%%%%%%%%%@#=====================@%%%%%%%%%%%%%%==========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================================#@%%%%%%%%%%%@#=====================@%%%%%%%%%%%%@#==========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++============================================+@%%%%%%%%%%%@*=====================@@%%%%%%%%%@@%===========================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================================@%%%%%%%%%%%@======================*@@@@@@@@@@%*============================================================++++++++++++++......................++++++++ +..........................::=+++++++++++++++++++++++=============================================@%%%%%%%%%%%@=========================*######+==============================================================++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@%%%%%%%%%@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++========++++++++++++++......................++++++++ +..........................::=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*@@%%%%%%%@%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++......................++++++++ +.........................:::-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.............................. +..........................::::::::::::::=++++++++++++++++++=-----------------------------------------=++++=----------------------------------------------------------------------------------------------------------------.............................. +.........................................................................................................................................................................................................................................................`, +}