########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
########################################################################################################################################################################################################
#################################################################################################################W######################################################################################
#################################################################################################################MM#####################################################################################
##################################################################################################################MW####################################################################################
##################################################################################################################BB####################################################################################
########################################################################################################################################################################################################
#################################################################################################################WW#####################################################################################
#################################################################################################################MM###################################W#################################################
#################################################################################################################MM##################################W##########WW######################################
#################################################################################################################MB#######################################W#####MWWW#####W#W############################
#################################################################################################################BR####################################W#WW###WWMMMWWWWWWWWWWW##########################
#################################################################################################################BB#################################W#WMWMMWWWMMMMMMMWWWWWWWWW##W#######################
################################################################################################################WBM###################################WMWMMMWMBMWMBBMMWWMMMMMMWW########################
###############################################################################################################M#MB##############################WWWWWMMMMMMMMMBBBBBMMMMMMMMMWWWWWWW#WW#################
##############################################################################################################BBBWR##############################WWWWMMMMBMMMBBMBBBBBMMBMBBBMMMMWWWWWWWW################
##############################################################################################################BMIWRW#############################WMMWMMBBBBBBBBMBBBBBBBBMBBBBBBBMMMMMWWW################
############################################################################################################WWBY+RW#############################WMMMMBBBBBBBBBBMBBBBBBBBBBBBBBBBBBBMMMWWWW##############
#############################################################################################################Ri:tY#########################W###WWMBBMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMMMMMWW#############
#############################################################################################################Y:+RIW########################W#WWMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMBMMMWWW###########
#######################################################################W#####################################RIMBX#########################WWWWMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMMWWWW#########
#######################################################################W######################################WMRM#########################WWWWBMBBBMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMMMMMWWW#######
################################################################################################################MW######################WWWMMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMBBMWW########
################################################################################################################W#########################WWWMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMMWWW######
#######################################################################################################################################W#WWWMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBRBBRBBBBBBBBBBBBBBBBMMMMMW####
#############################################################################MM#########################################################WWMMMMMBBBBBBBBBBBBBBBBBBBRBBRBBRBBBBBBBBBBBBBBBBBBBBBBMBBMWWWW#
###########################################################################WBM###############################MW#########################WWMMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMMMMW
###########################################################################WM################################BB##########################WMMBBBBBBBBBBBBBBBBBBBBBBBBBBRBBBRBBRBBBBBBBBBBBRBRBBBBBBBBMBMM
#########################################################################MBBBBM##############W########MR#####BRB#####################W#W#WMBBBBRBBBBBBBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBM
########################################################################BBXtiYBMM###########X=+B######BY#####WBRW####################WWWWWMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBRBBBRBBBBBBBBBBBBBBBBBBBBBBBBBMM
########################################################################Bt, ;IBBW#########+ .M##WW#W+RX####WR########################WWMMBBBBBBBBBBBBBBBBBBBBBBRBBRBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBM
########################################################################=. .+RBR########I ..=R#WM#BYtt#############################WWWWMMMBBBBBBBBBBBBBBBBBBRBBBBBBBBBRBBBRBBBBBBBBBBBBBBBBBBBBBBBBM
#######################################################################X. .. +XBBBW####WV =MMRBWBYY#############################WMMMBBBBBBBRBBRBBBBBBBBBBBBBRBBBRBBBBBBBBBBBBBBBRBBRBBBBBBBBBBBBM
#######################################################################+ . :VBBW####MX YWII#M#W############################WWMBBBBBBRBBBBBBBBRBBRBBRBBBBBBBBBBBBRBBBRBBRBBRBBBBBBBBBBBBBBBBBB
#######################################################################i . :XBM####MY. .. +WV;MW##############################WWMMBBBBBBBBBBBBBBBBBBBBBBRBBBRBBBBBBBBBBBBBBBBBBBBRBBBRBBBBBBBBBB
######################################################################W= . . .;XW##WB+ . .V#tR###############################WWMMMBBBBBBBBRBBRBBBBBRBBBBBBBBBBBBRBBBBBRBBBBRBBBBBBBBBBBBBBBBBBB
######################################################################B, . . VR##WB= . =#BB###############################WMMMBBBBBBBRBBBBBBRBBBBBBBBRBBBRBBBBBRBBBBBRBBBBRBBBBRBBBBBBBBBBBB
######################################################################M+ . ..,XB###B+ . .RMM##############################WWMMMBBBBBBBBBBBBBBBBRBBBBRBBBBBBBBBBBBBRBBBBBBBBBBBRBBBBBBBBBBBRBB
######################################################################BV . ;BM##MR, . ..I##################################WMMBBBBBBBBBRBBBBBBBBRBBBBBBRBBBRBBBBBBBBBBRBBBBBBBBBBRBBBBBBBBBB
######################################################################RV .. . . ;BB##WR; . =##########################W###W###WMMBBBBBBBBBBBRBRBBBBBBBBBBBBBBBBBBRBBBBRBBBBRBBBRBBBBBBBRBBBBBBB
#####################################################################WRY . . ;MRW##Bi . :##########################W##WW###WMMBBBBBBBRBBBBBBBRBBBRBBBRBBBBRBBBBBRBBBBBBBBBRBBBBRBBBBBBBBBBBB
#####################################################################WRVt: . :BRB##WV, .M###########################WWWW##WMMBBBBBBBBBBBBBBBBBBBBBRBBBBRBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBBBB
######################################################################BRRV= ,. . ,XBB###B=. .. R############################WW##WWMMBBBBBBBBBBBBBBBBRBBBBBBBBBBBBBBRBBBRBBBBBRBBBBBRBBBRBBRBBBBBBB
#######################################################################MBMX= . . .VBRW###V+ :M############################WW##WWMMBBBBBBBRBBBRBBRBBBBBBBBBBRBBBRBBBBBBBBRBBBBBBRBBBBBBBBBBBBBBBB
###########################################################################Ri. . . . ,RRRW####X==:;I#############################W##WWWMMBBBBBBBBBRBBBBBBBBBRBBBRBBBBBBBBRBBBBBBBBBBRBBBBRBBBBBBBBBBRBB
#############################################################################BI; ;BBB#####MWMMW##############################W#WWMMMMBBBBBBBBBBBBBBBBBRBBBRBBBBBBRBBBBBBBBRBBBRBBBBBBBBBRBBBBBBBBBB
###############################################################################WRVYXYIRBRM##########################################WWWWMMBBBBBBBBBBBRBBRBBBBBBBBBBBBBBBRBBBRBBBBBBBBBBBRBBBBBBBBBBBBBBB
#########################################################################XM##########MBRXM#########################################WMBBBMMBBBBBBRBBRBBBBBBBBBBBBBRBBRBBBBBBBBBBBBBRBBBRBBBBRBBRBBBBBBBBB
########################################################################V .YM##W######MXXB#####BW###W#############################WWWMMMMMBBBBBBBBBBBBBBRBBBRBBRBBBBBBBBBRBBBRBBRBBBBBBBBBBBBBBBBRBBRBBB
##########################################################MMMMW########B ..;;X#######WBY=tMXIIMVRBW#############################WW#WW##WMBBBBBBBBBBBBRBBBRBBBBBBBBBBBBRBBBBBBBBBBBBBRBBBBRBBBBBBBBBBBBB
#########################################################WRRBBM#######X+ , ,R######Mi+. ;. .;;XWR#B############################WWWWWWWWMBBBBBBBRBBBBBBBBBBBBBBBRBBBBBBBBRBBBRBBBBBBBRBBBBRBBRBBBRBBRB
#########################################################BRMBXVYR#####BY . ;#######V ..,. .. IMiBtMB##########################W#WWWWWWMBBBBBBBBBBRBBBBBBRBBBRBBBBBRBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBB
#########################################################BBMI;, :IVVI=. ..IMB#####X .. ., ,=V,+iBM#MX#####################WW##W#WMMBBBBBBBBBBBBBRBBBBBRBBBBBRBBBBRBBBRBBBBBBBBBBRBBBBBRBBBRBBBBB
#########################################################BBR; . . ;WBRW####V . .. .. .R+ .iR#+,####################WWWWWWWWMBBBBBBBRBBRBBBBBRBBBBBBBBBBBBBBBBBBBBRBBRBBBRBBBBBRBBBBBBBBBRB
#########################################################WMR; . :VBBM####V .;: .,#t.t######################WW#WMMBBBBBBBBBBBBBBBBBBBBBBBRBBRBBBRBBBRBBBBBBBBBBBBBBBBBBBBRBBBRBBB
#########################################################MRB; . .YBRM####Y .. .YX. V######################WW##MMBBBBBBBBBBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBBBRBBBRBBRBBBBBBBBBBBB
#########################################################WRM+ . YBBW####Y : ..M######################WW#WMMMBBBBBBBBBBBBBBBBRBBBBBBBRBBBRBBRBBBRBBRBBBBBBBBBBBBRBBBRBBBBBB
##########################################################BMV: . YMW#####Y . :#######################WWWWMMBBMBBBBBBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBBBRBBBBRBBBBBBBBBBBBBRB
##########################################################WBBt . VW######Y .. =######################WWWWWMMMMMMBBBBBBBBBBBBBBBBBBRBBBBRBBBBBRBBBRBBBBBBRBBBBRBBBRBBBRBBBBB
###########################################################RMX. .:R#######Y . X#######################W#WWWMMMMMBBBBBBBBBBBBBBRBBBBBBRBBBBBRBBBBBBBBRBBBBBBBBBBBBBBBBBBBBBB
###########################################################RBBt. +W#######Y .. ,M##########################WWMMMMMBBBBBBBBBBBBBBBBBBBBBBBBBRBBBBBRBBBBBBBBBBBBBBBRBBBRBBBRBBB
###########################################################BRMR. I########Y . +############################WMMMMMBBBBBBBBBBBBBRBBBRBBRBBBBBBBBBBBBRBBBBRBBBRBBRBBBBBBBBBBBBB
############################################################MBRV, . . , ,B########V . Y############################WMMMWMBBBBBBBBBBBBBBBBBBBBBBRBBBBRBBBBBBBRBBBBRBBBBBBBRBBBRBBBRBB
############################################################WBRRI. . .. .V#########Y .XBW##########################WMMMMMBBBBBBBBBBBBBBBRBBRBBBBBBRBBBBRBBBBBBBBBBBBBBBBBBBBBBBBBBBB
#############################################################MBBBi . I#####B####i . =BRBW#########################WWMMMMBBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBRBBBBRBBBBRBBRBBBRBBBRBBBRB
#############################################################WBRBR, =W#####RB##W: . VBBRRW####W##W#################WMMMMBBBBBBBBBBBBBBBBBBBBBRBBRBBBBRBBBBBRBBBBRBBBBBBBBBBBBBBBBBB
##############################################################WBBMI.. . ,X######BRM#X.. VBBBRRRW##RRBB################WWWMMMMBBBBBBBBBBBBBBRBBRBBBBBBBRBBBBBBBBBBBBBBBBBRBBRBBBRBBBBRBB
###############################################################MBRM: . .:M######BB##Y =BBMM==IVMRRBRM#################WMMMMBBBBBBBBBBBBRBBBBBBBBRBBBBBBBRBBBRBBBBRBBBBBBBBBBBBBBRBBBB
################################################################MRBt. .YM#####M###R: . .XWWW, .=BBMBRBWW###############WMMMMBBBBBBBBBBBBBBBBBRBBBBBBBBBBBBBRBBBBRBBBBRBBBBBRBBBBBBBBBB
################################################################WWRB; . ;XB#########I V##W=. ,RRRBBBBMMW#############WMMMBBBBBBBBBBBBBBBBRBBBBBBBRBBBRBBBBBBBBBBBBBBBBBRBBBBBBRBBBBB
#################################################################WBMt . .tV#########;. . . . X##BY .=XMRRMBRMMBBBW##########WWWMMMBBBBBBBBBBBBBBBBBBRBBBBBRBBBBBBBRBBBBRBBBRBBBBBBRBBBBRBBB
##################################################################RRM= .. ,iYB####BY, . . .R##BV .IXBBBBRBRBBBMM###W####W##WMMBBBBBBBBBBBBRBBRBBBBBBBRBBBBBBBBRBBBBRBBBBBBBBBBBBBBBBBBBRB
##################################################################WBBXt . ..:+IWM; . . + =M#MX.,BVVMBBBRRWMRRRRRWMMWW####WMMBBBBBBBRBBBBBBBBBRBBBBBBBBBBRBBBBBBBBBBBBBRBBRBBRBBBRBBBBBB
####################################################################XMM; .. ++ ..+X . ,IB#; XX==:iRMRRBMBV;+VRBMM####WMMBBBBBBBBRBBBBRBBBBBBBRBBBRBBBBRBBBBBRBBBRBBBBBBBBBBBBBBBBBB
#####################################################################BBX= . . . . . . .Mt . =Y;.tB;,.IBBBRMBYI. :+XBRBW###WWMBBBBBBBBBBBBBBBBBBRBBBBBBBBBBBBRBBBBBBBBBBBBBRBBBRBBBBRBBB
######################################################################RBR+, . . . . . . IW+ .. ...:M+.,VBXM##t.;: .YMRRBMMMMMMMBBBBBRBBRBBBRBBRBBBBBBRBBBRBBBBBBRBBBRBBBBRBBBBBBBBRBBBBB
######################################################################WRBY; . ,. . ;WRI . ,MY VBBM#X, . +RBBBRRRRBBMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBRBBBBBBBRBBBBBBRBB
######################################################################WBRWV+XYtI=:; . .RRM+. . . +t ;BBRM#I . =XBRBBBRRBBMBBBBBBBBRBBBBBBRBBBRBBBRBBBRBBRBBBRBBBBBBBBBRBBBBBBBBBBB
##########################M############################################RBRBBBMRBWXVt, . =MXM, . ..+BR##:.,;+Y+;,.IWBBBBBBRMBBBRBBBRBBBBBRBBBBRBBBBBBBBBBBBBBBBBBBBBBRBBBBBBBBRBBRBBB
##########################B############################################RRBBIYMRt=.,. . .YMMX. =XB#M: +MMMWWBVttVBRRMRRBWBBBBBBBBBBBBBBBRBBBBBBRBBBRBBBBRBBBRBBRBBBRBBBBRBBBBBBBB
#########################WRM###########################################MRBBXXBBX . +BRBV, .;B#V, ;tYXXYi..+BBRMBBB#MBBBBBBBBBBBBBBBBBBBBBBBBBBBRBBBBBBBBBBBBBBBRBBBBBRBBBRB
#########################MRB############################################MBW#WBB#X, .. .VBRRR, . ,XV .,,. .VRBBRBBWMMBMMBBBBBBBBBBBRBBBRBBBRBBBBBBBRBBBRBBBBBBBBBBBBBBBBBBB
########################MBRBW###################################################MY; . . . .tMBBBM:. . :I.. , .. ;IBRRBM#MMMMBBBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBRBBRBBBRBBBRBBBBBB
#######################WRRBBM###################################################MMMi . ;BBRRMY, .:YX : . =.iBBBRR#MBMMMBBBBBBBBBBBBBBBBBBRBBBRBBRBBBRBBBBBBBBBBBBRBBBBBRBB
######################WBBRBRM##########################################WRBMWMBWWMMV:.. :VMRBMMt, .. IB= :. , . .t;=tBBBY#MBMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBRBBBRBBBBBBBRBBBB
#####################WMBBRBRM##########################################MRMRRBBRIt;. . =WRYIi:. . .=BW.. .. . . t: XRMt#BBBMBBBBBBBBBBBBBRBBRBBBBRBBRBBBRBBBRBBBBBBBBBBBBBBBBBBB
######################WBBBRBBW#####MBW##################################RBRMMBB+ . . . , . ;Bt, . . . . .:BR.. + .:.iYXB#WRBBMBMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBRBBRBBBRBBBRBBBBRB
#######################MBBRBBW#####BB####################################MRRRRMB. . . .II=VI: .. .. . . , .=Y= +I. . :.:I+#MBBBBMBMMBBBBRBBBRBBBBBBBBBBBBBRBBBRBBBBBBBBBBBRBBBBRBBB
#######################MRBBBBM####WRB###M#################################MWMRBBi. .. :+VM#R= . .. . .Ii. += ,Vt . =+#VRBBRWRMMBBBBBRBBBRBBBBBBRBBBRBBBBBBBBBBBBRBBBBBBBBBBBBB
#######################WRBBBRB####MRM##WBM####################################RXWt. .. +M##t. ., . ==.iXYRMMI . ,, iV: . .:V#=YBBRMBMMMBBBBBBBRBBRBBBBBBRBBBBBRBBBRBBRBBBBBBBBBRBBBBB
#######################MBBBBRB####MBW##MBMW#############MMW####################MMBI;:, =##Y. . . =;,X#MY;BB+ . .+i. . .BX +BBBRBMMMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBRBBRBBBBRBBR
#######################MRBBBRR####MM###BBBM#############BBBW######################MVt. .,YRV= . . V#W, XMM= .:,. . .#i ;RBBXRBMMMMBBBBBBBBBBBBBRBBBBBBBBRBBBBRBBBBBBBBBBBBBBBB
#######################MBBRBRB####MW##WBBBBW############RBBBM##################Y;,.. :IBR:. : :II, . i#B; =XRX; . ;:. . ..+W: .YBBRRRRBMMBBBBBBBBBBBRBBBBRBBBRBBBRBBBBRBBBRBBBRBBBBBB
#######################WBBRBBB####W###MRBBBMW##########WBBRVXB#################, . ,IMM+ . . t#W= .. . ,##:. +WBR. =: . .BY . +BRBBRXRBBBMMMMBBBBBBBBBBBBBRBBBBBBBBBBBBBBBBBBBBBBRBB
#######################WRBBBBRM##W####BBBRBM###M########RBB:;MBW###############= ,IW#Y, . . V#R+ . . R#I .RRM+ . .. . :#; . .YBRRBMRBMBWWMMBBBBBBBBBBBBBBBBBBBBBRBBBRBBBRBBBBRBBBB
#######################WBBBBBBM#######RBBBBMMMMBW######WBRWY.+RB######MX#######MIX##R=. . . :V#I. . Y#I. +BRV, ;I. . tY . :VMRRRBRWRMWMMBBBBBBBBBBRBBBBBRBBRBBBBBBBBBBBBRBBBBBB
#######################BBBRBBRM######WRBBBBBBBMM########BXBB=+MX#####WI.I#########Bt. .:R#Y, .. ., =#R: .BRM= II . .,B. . . =RMBBRRBRMBMWMBBBBBBBBBBBRBBBBBBBBBRBBBRBBBBBBBBBBRB
#######################BRBBBBBB######MBBBBBBBMMW########BBXMWB#B#####Mt.+M#######I:.. . . +WR= . .RW; . XMBI..R; . YX . =VBMBBRBYMMMMMMMBBBBRBBBBBRBBBRBBBBBBBBBRBBRBBBRBBB
#####################WMRBBBBBBBW#####BBBBBBBBBBMM#######W#W##########WRXW#######I, . . +BW= . .. .;. +X: +MRX,.Y .,B,. . .IYMXBX.RMMMMMMBBBBBBBBBRBBBBBBRBBBRBBBBBBBBBBBBBB
######M#############WMMRBBRBBBBM####WRBBBBBBBBBBBW#############################R .. ,;R#X, . . =BB; ;. .XBM:., . VI . . .:=iY+.=BMMMMMMMBBBBBBBBBBRBBBBBBBBBBBBBBBBBRBBBB
######W##############MBBRBBRBBRM####WRBBBBBBBBBBBBBBBW#########################V. . ,Y##V, . . :V#W= , . . tBMi. .;R. . . .. :+;; VBMMMMWWMBBBBBBBBBBBBBBRBBBBRBBBRBBBBBRBB
#####################MMBBBRBBBRB####WBMM#WMMBBBRBBBRBW#########################W:. +M#Mt , tM#Y.. . . =RBR,. X= . . . . :,i+ ;IBMMMW#WWBBBBBBBBBBBRBBBBRBBBBRBBBBBBBBBB
#####################WMRBBBBBBBB########WWMBBRBBRBBRBW##########################= ,Y##Wt .. :YWX+. .tBR+ ;= . YY. . . .; :tYRBW#WMWMMBBBBBBRBBBBBBBBBBBBBBRBRBBBRBB
######################MBBBBBBBBBBBM####MMBBBBBBBBBBBM###########################+t####I.. :VBY:. :BMI :RBX= . =R+ .. =VXRBMWWMMMMMMBBBBBBBBBBBBBBBBBBBBBBBBBBBB
########M#############MRBBBRBBRBRRRM###BBBBRBBRRBBRBW##############################WXV: :tXMR+ .:RBR ,BBWY.. =BI . . . tBBBBBWWMMWMMMMMBBBBBBBBBBBBBBBBBBBBRBBRBB
#WM#####MM#WBM########MBBRBBBBBBBBRB###WBBBBBBBBBRBM##############################MB+ ,YRMBY: ,. ..YBB.+BXBM+,,RR . . . ,VBBBRRMWMWWWMMMMBBBBBBBBBBBBBBBBBBBBBBBBBB
#MM######BMMRR########MBBBBBRBBBBBBBW###BBBBBBMWBBBW##############################MY::YBWMMY, +WV.IBBRMYIYB; .. . +BBRBBRBMMWWWWMMMMMBBBBBBBRBBBBBBBBBBBBBRBB
#WM######BBMBBW#######MRBBBBBBBBRBBB####BBRBBBW#WW#################################BR##BXYi, . .. . ..YV,=BMBBXMWR , . . YMRBBBBBBM#WWWWWMMMMMBBBBBBBBBBBBBBBRBBBBBB
##W######MRBMMW######WMRBBBRBBBBBBBB####BBBBRBW#######################################Mt., ,. . . ,t;,W#WBB#Wt .. . . ;RBBBBRRRBM#WW##WWWWMMMBBBBBBBBBBBBBBBBBBRBB
#########WRRM########WBRBRBBBBRBBBRRW###BBBBBRM#######################################M,. . . , ,;B#BBMWB+.. . . . IMRBRXYYXBBMM###WWWWWMMBBBBBMMBBBBBBBBBBBBBB
##########BBB#WW#####MBBBBBBBBBBBBBR####BBRBBBB#######################################V . . . += . . . . ;##BW#BR= . .. . .XBBBBY=VBRBM#####WWWMMMBMBBBBBBBBBBBBBRBBRBB
##########MRMWWW####WBBRBBBBBBBBBBBR####BBRRBRB#######################################B, ,.. .iRI;. , . . ,I###MRMI. . . =BBBRBI=VRBRBW#####W##WMMMMBBBBBBBBBBMBBBBRBM
###########RMBWWW###WBRBBBRBBRBBBBBR####BBBBBRM########################################= :+R#WBBI. .. .=M#BRBt . . . IWBBRM+=VRBRBM########WMMWWMBBBBBMMMMMMBBBBBB
###########BBBW#####WBBBBBBBBBBBBBBR####BBBRBBW########################################I. .:XB#######WR= :IWRRV. .,. VMRBBR;;YXBRBBW######WWWWW#WWMMMMMMMMMMMBBBMM
############RRW####WWBBBRBBBBRBBBBBR####BBBBRB#########################################X :W##########V IMBt.. .;=.. .XBRBBI.,IXBRBRM######WW######WWWWWWMMWMMMMMMM
############RBW##WBBMBBBBBBRBBBBBBBR####BRBBBM#########################################R;. B##########R. . : .YWI .. ,=:. =BBBMX= ,YXBRRRBW####WW##########WWWWWWWMMMMWM
############MMW##MRBBBBBBBBBBBBBBBBR####BRBBB##########################################R...,############I, . . . . YMY, .:=:. . YBBBBI,.,IVRBBBRBW#################WW#W#WMMWWM
#############M#W#MRBBBBBBBBBBBRBBBBB####BRBBB##########################################Y ,#############= . . . :WR+ .,;, . XBRBRi ..tYVRBBRRW######################WMWWWM
################BBRBBBBBRBBBRBBRRBMR####BBBBM##########################################B, ..I############M= .. . ...YRY: ;i. .. IBBXMi . ;tIRBBBRBW########################WWW
################MBBBBBBBRBBBBRBBMW#W###MBRBBM##########################################W, . .B############R; .. .. ;YBI;: .. .=RBBRX; :tIRRBBBRM###########################
################WMBBBBBBBBBMBBBW#######MBRBBW###########################################I +#############X; , tBMY, ,VMBBBt ,+IRBRBBBBM##########################
#################WMBBBBBBRBW#WW####W####BRBB#############################################; .=##############V. ...+XR=: . +BBBBRR: .=tRBRBBRBBW#########################
##################MBBBBBBRB########M####WBBB########################################W####B:, X###############Y; :+BY;+tVRMBRBBY. :+XRBBBBBRM#########################
##################WMBBBBBRB########M#####BBB#######################################MRM####t .#################t. . ... iWMWRBBBBRBBt . ,=XBBBBBBRB#########################