nnnxxxxxxxxxnnnnzz###+++++*************+*++++++###zzzznnnnnnnnnnzzzzz###########
nnnnnnnnxxxxnnnnzzz###+++++++++*******++++++######zzzznnnnnnnzzzzzzz############
zzzznnnnnnnnnnnnnzzzz####+++++++***+**++++####zzzzzzznnnnnnnzzzzzzzz############
##zzzznnnnnnnnnnnnzzzzz####++++++++++++++####zzzzzzzznnnnnnnzzzzzzzzz###########
####zzzzzznnnnnnnnnnnzzz####++++++++++++####zzzzzzzznnnnnnnnzzzznnzzzzzzzzzzzzzz
######zzzzznnnnnnnnnnnzzzz###+++++++++++###zzzznzzznnnnnnnnnnnnnnnnnnnnnnnnzzzzz
z####zzzzzzznnnnnnnnnnnzzz####++++++++++####zzzzzzznnnnnnnnnnnxxxxxxxxxxxxxnnnnn
zzzzzzzzzzznnnnnnnnnnnnnzzz###++++++++++#####zzzzzznnnnnnnnnnxxxxxxxxxxxxxxxxnnn
znnnnnzznnnnnnnnnnnnnnnnzzzz##+++++++++++#####zzzznnnnnnnnnnnxxxxxxxxxxxxxxxxxxx
nnnnnnnnnnxxxxnnnnnnnnnnnzzz##+++++**++++#####zzzznnnnnnnnnnnnnxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxnnnnnnnnnzzz##++++****++++####zzzzzzznnnnnnnnnnnnnnxxxxxxxxxxxxx
MMMMMMMMMMMxxxxxnnnnnnnnnnzz##+++******+++######zzzzzzzzzzzzzzzzznnnnnxxnnnnnnnn
MMMMMMMMMMMxxxnnnnnnnnnnnzzz##+++*******+++###########zzzzzzzzzzzzznnnnnnnnnnzzz
MMMMMMMMMMxxnnnnnnnnnnnnzzzz##+++*******+++###############zz######zzzzzzzzzzz###
xxxxxxxxxxnnnzzzzzzzzzzzzzzz##+++*******+++##+++++++++#######################+++
xxnnnnnnxnnzzzzzzzzzzzzzzzzz##+++*******++###+++++++++++###############+++++++++
nnnzzzznzzzz##################+++*******+++++++++++++++++############+++++******
zzzzzzzzz#####################+++*******++++++++++++++++++######+##++++*********
###########++#################+++*******++++++++++++++++++######+++++++*+*******
###++++###++##################+++*******++++++++++++++++++##########++++++++++++
####++########################++*******+++++++++++++++++++###########+++++++++++
##############################++*******+++++++++++++++++++++###########+++#+++++
##############################++*******+++++++++++++++++++++++#######+++++++++++
##############################++*******++++++++++++++++++++++++#++++++++++++++**
##############################++********+++++++++++++********+++++++++++********
+++#####+###+++++++++#########++********++++++++++++****************************
++++++++++++++++++++++########++********+++++++++++*****************************
+++++++++++++***++++++########++********++++++++++***************************iii
****************++++##########++********++++++++++**************************iiii
**************+++++###########+*********+++++++++++***********************iiiiii
**************+++++##########++*********+++++++++++********************iiiiiiiii
***************+++###########++*********++++++++++++********************iiiiiiii
***************+++###########++********++++++++++++++****************iiiiiiiiiii
***************+++###########++********++++++++++++++***************iiiiiiiiiiii
***************+++###########++********+++++++++++++++*************iiiiiiiiiiiii
***************+++###########++*******+++++++++++++++++***********iiiiiiiiiiiiii
***************++++#########++********++++++++++++++++++**********iiiiiiiiiiiiii
***************++++#########++********+++++++++++++++++++**********iiiiiiiiiiiii
****************+++########+++********+++++++++++++++++++++*********iiiiiiiiiiii
****************+++####z###+++********++++++++++#++++#++++++*********iiiiiiiiiii
***************++++##zzz###+++**********+++++++#+#########+++**********iiiiiiiii
**************++++###zzz###+++**********+++++++#+##########+++*********iiiiiiiii
*************++++###zzzz###+++***********+++++++############++++**********iiiiii
***********+++++####zzzz###++*************++++++#############++++++*************
**********++++####zzzzzz###++*************++++++#############+++++++************
**********+++###zzzzzzzz###++*************++++++#############+++++++++**********
++*****+*++++###zzzzzzzzz##++*************+++++#############++++++++++++********
+++++++++++++###zzzzzzzzz##++*************++++#############+++++++++++++********
++++++++++#####zzzzzzzzzz##++***********++++############z###++++++++++++++******
++++++++++#####zzzzzzzzzzz##++**********++######zzzzzzzzz###+++++++++++++++*****
++++++++++#####zzzzzzzznzzz##+++++***++++###zzzzzzzzzzzzz##+++++++++++++++++++++
#++++++++######zzzzzzznnzzzz###++++++++###zzzznnnnnnzzzz###+++++++++++++++++++++
#+++++++########zzzzzznnnnzzzz###########zzznnnnnnnnzzz###+++++++++++####+++++++
##++++++##########zzzznnnnnnzzzz######zzzzznnnnnnnnzzz####++++++++++++####++++++
##+++++############zzzznnnnnnnnzzzzzzzzzzznnnzzzzzzz####+++++++++++++++######+++
###+++##############zzzznnnnnnnnnnnnnnnnznnnnzzzzzz#####++++++++++++++++#######+
####################zzzznnnnnnnnnnnnnnnnnnzzzzzz#####+++++++++++++++++########++
####################zzzzzznnnnnnnnnnnnnnnnnzzz######+++++++++++++++++++########+
####################zzzzzzzznnnnnnnnnnnnnnnzz####++++++++++++++++++++++++#######
##########+########zzzzzzzzzzzzznnnnnnnnnnzz###++++++++++++++++++++++++++++#####
##########++#######zzzzzzzzzzzzzzzzzzznnzzzz###+++++++++++++++++++++++++++++++++
#########+++######zzzzzzzzzzzzzzzzzzzzzzzz#####+++++++++++++++++++++++++++++++++
#########+++######zzzzzzzzzzzz################++++++++++++++++++++++++++++++++++
#########+++######zzzzzzzzz##################++++++++++++++++++++++++++++++++++*
##################zzzzzzzz#########+++++#+++++++++++++++++++++++++++++++++++++++
##################zzzzzzz#######+++++++++++++++++++++++++++####+#####++++++++++*
z#################zzzzzzzz########++++++++++###########################++++*****
zz################zzzzzzzzzzzz###############zzzzzzzzzzznnnnnnzzzzzzz###+++*****
zz################zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzznnnnnnnnxxxxnnnnzzz##+++*****
zzz###############zzznnnnnnnnnnnnnnnnnzzznnnzzzzzzzznnnnnnxxxxxxxxnnzz##+++*****
zz################zznnnxxxxxxxxxnnnnnnnzzzzzzzzz##zzzzzznnxxxxxxxnnzz###+++*****
zzz###############zznnxxMMMMMxxxnnnnnzzzzzzzz########zzzznnxxxxxnnz###+++++*****
zzz################zznnxxxxxxxxnnnzzz###########+++##zzznnnxxxxnnz#+++**+*******
zzzz################zznnxxxxxxxnnzz###########++++##zznnnnnnnnnnz#++************
zzzzz################zzznnnxxxxnzzz###+++++####++##zznnnnnnnnzz##++*************
zzzzzz#############+###zzznnxxxnnzz#########zz####znnxxxnnnzz###++**************
zzzzzzz######+####++++##zzznnnxxnnnzzzzzzzznnnnnnnnnxxxnnnzz##++++**************
zzzzzzz#########++++++####zzznnnxnnnxxnnnnnxxxxnnxxxxxnnzz###++++***************
nzzzzzzz########+++++++####zzzzznnnnxxxxxxxnnnnnnnnnnnzz####++++****************
nnzzzzzzz#####++++++++++####zzzzzznnxxxxxxnnnnzzzzzzzzzz###++++*****************
nnnzzzzzzzz##+++++++++++####zzzzzzzzzznnnnzzzz##zzz######++++++*****************
xnnnzzzzzzz###+++++++++++####zzz#zzzzzzzzzzz#############+++++******************
xxnnnzzzzzz###++++++++++++####zz########################++++++******************