###################################################################
###################################################################
###################################################################
###################################################################
##############################@MnzznxW#############################
############################WxnnnnnnnnnW###########################
###########################WxxxxxxxxxxxxW##########################
##########################Wxxxxxxxxxxxxxx##########################
##########################MMMMMMMMMMMMMMM@#########################
#########################@MMMMMMMMMMMMMMM@#########################
#########################@WWWWWWWWWWWWWWW@#########################
#########################@WWWWWWWWWWWWWWW##########################
##########################@@@@@@@@@@@@@@###########################
###########################WW@@@@@@MnnM@###########################
##########################Wnnx@###MzzznM###########################
##########################xzzzM##@zzxnzn@##########################
##########################zxMzn##MzxM@zzW##########################
##########################zMWxn@#MzMW#xzM##########################
##########################nW#MxMMMx@##x#M##########################
##########################xM@xnzznxM@#zz@##########################
##########################Wnxnznnznxxxnx###########################
##########################WxnnnnnnnnxxxMW##########################
#########################Wxxxxnxxxxxxxxxx##########################
#########################Mxxxxxxxxxxxxxxx##########################
#########################@xxxxxxxxxxxxxxM##########################
##########################Wxxxxxxxxxxxxnn##########################
##########################Wzxxxxxxxxxnzzz@#########################
##########################M##xxxxxxn####zM#########################
##########################x###znxnz#####zn#########################
##########################n#############zz@#####@##################
#########################@z#############zzx#####@W#################
#####################@@##Mzz###########zzzz@#####MW################
####################WM###zzzzzzzzzzzzzzzzzzM#####@x@###############
###################@x###Wzzzzzzzzzzzzzzzzzzn######WM###############
##################@x@###nzzzzzzzzzzzzzzzzzzzW##W###MW##############
#################@MM@##@zzzzz########zzzzzzzx##@W##@M@#############
#################@x@W##xzzz#############zzzzz@##W@##MM#############
#################MWW@#@nz################zzzzx###M##@M@############
################WM@W##Mz##################zzzz@##WW##WM############
###############@MWW@##n####################zzzn###x##WWW###########
###############WM@W##W######################zzz@##WW#@WW###########
##############@WW@M##n######################zzzx##@x##WW@##########
##############@M@MW#@z######################zzzn@##x@#WW@##########
##############@M#x@#xz######################zzzzW##x@#@@@##########
##############WW#z##zz######################zzz#M##xW#@@@##########
##############WW@z#@zz#######################zz#n##nW#@@@##########
##############WW@z#Mz###########################zMWz@#@@@##########
##############@@@zWx############+##+############znzzM##############
##############@@@zxx#########++++++++++########nWW@@nnW############
##############@@@Mzz########++++++++++++#######xxnnM@@nM###########
#############@WW@@n########++++++++++++++#####zWMxxxM@#MW##########
##########x#MxxxxM@z#####++++++++++++++++++#+zxWWMMWM@#@M##########
########x##xxnzznxM@n##+++++++++++++++++++++#nnM@W@@@##WxWx########
#######x##xxxz###nxW#Mz++++++++******+++++++znzn@@@###Wxxxxx#x#####
#####x###xxxz#####nx@@Wz++++*************+++zn#zM###@xnxxxxx#######
####x#xxxxxzz#####znM@@@z*+***************++nzzzznxnzzznxxxxx######
#####xxxxxzzzzzz##znn@@@@z********i********+nzzzzzzzzzznxxxxx######
####xxxxxnzzzzzzz##znx@@@W+***iiiiiiiii****+zzzzzzzzzzznxxxxx######
####xxxxxzzzzzzzzz#znnW@WWx*iiiiiiiiiiiii**+zzzzzzzzzzznxxxxxx#####
####xxxxxnzzzzzzzzz#znxWWWM*iiiiiiiiiiiiii*+zzzzzzzzzznnnxxxxxxx###
####xxxxxnzzzzzzzzzz#zzMWWx*iii;;;;;;;iiiii+zzzzzzzznnnnnnxxxxx####
####xxxxxxnzzzzzzzzz##zzxn+ii;;;;;;;;;;;iii#zzzzzzznnnnnnnnxxxxx###
####xxxxxxxnnzzzzzzzz##zz*ii;;;;;;;;;;;;;ii#zzzzzzznnnnnnnnnnnxx###
####xxxxxnnnnnzzzzzzz#####i;;;;;;;;;;;;;;;+##zzzzznnnnnnnnnnnnxx###
####xxxxnnnnnnnzzzzzz#####+i;;;;:::::;;;inn###zzzzznnnnnnnnnnxx####
##@#xxnnnnnnnnnnnzzzz######n+i;:::::;i*zMMz###zzzzznnnnnnnnxxx##M##
####xxnnnnnnnnnnnnzzzz####+nxnz#+++#znxxxx#####zzzzznnnnnnxxM##@#@#
#@##Mxnnnnnnnnnnnzzzzz###++zxxxxnnnnnxxxxx++###zzzzznnnnxxW@@@@@###
###@Wxxnnnnnnnnnnzzzz####++zxxxnnnnnnnxxxn++####zzzzznnxM#@@@@@@@##
###@@@xxxxxxnnnnzzzzz####++zxxnnnzzznnnnxn+++###zzzzznxW@@@@@@@@@##
###@@@##@WMMMxxnnzzzz###+++nnnzzzzzzzzznnn+++####zzznnM@@@@@@@@@#@#
##@#@@@@@@@@@@WMnnzz######znnnzzzzzzzzznnnz+++###zzznMW@@@@@@@@####
#####@@@@@@@@@WW@Wnnzz###nxnnzzzzzzzzzzznnnz#####zznWWW@@@@@@##@###
####@###@@@@@@WWWW@@WxxMMxnnnzzzzzzzzzzznnnxz##zznx#WWW@@@@@##@####
#######@##@@@@WWWWWMMMMxxxnnnzzzzzzzzzzzznnnxWMx@@WWWWW@@###@######
########@####@WWWWWMMMMxxxnnnzzzzzzzzzzzznnnxxxMMMWWWW@###@########
###############W######Mxxxnnnzzzzzzzzzzznnnnx######W###############
###################################################################
###################################################################
###################################################################