+++++++++++++++++++++++++++++++++++*****+++++++++++++++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++++********************+++++++++++++++++++++++++++++++ 
++++++++++++++++++++++++*+*+************#######**+**+++++++++++++++++++++++++++++ 
++++++++++++++++++++++*****++++****#*###*#*#####****+***+++++++++++++++++++++++++ 
+++++++++++++++***+********+****#####*###***#####*****+****++++++++++++++++++++++ 
+++++++++++++++**************########*#********#*#***********++++++++++++++++++++ 
+++++++++++++++****##*******###*########*#*****##***************+++++++++++++++++ 
+++++++++++++++***####*******##*######**#***************************+++++++++++++ 
++++++++++++++*################*##**#**************************#*#*******++++++++ 
+++++++++++++###########*####***#*#***###**********************##**#**+*++++++++ 
++++++++++++*##%%###*######*#****#*#**#*#####******************####%****++++++++ 
+++++++++++*###%%#%#########****####*#*##*####******************####****++++++++ 
++++++++++++*###%###############*#****#####*######**************#%%####**+++++++ 
++++++++++++*##%####################################*************#####*+++++++++ 
++++++++++++*#%%####################################****##*#*****####**+++++++++ 
++++++++++++*%%%###########################################*******###***++++++++ 
++++++++++++*%%##############################################******##***++++++++ 
++++++++++++#%%%#############################################******###**++++++++ 
++++++++++++%%%############################################***#****####*++++++++ 
+++++++++++*%%%%########################################***********###**++++++++ 
+++++++++++*%%%%%#########******####################***************###*+++++++++ 
+++++++++++*%%%%##########*****#####################***************###++++++++++ 
++++++++++++#%%%########################################***********##*++++++++++ 
*++++++++++++*%%%##########################################*********#*+++++++++++ 
#+++++++++++++*#%#########%%%#%##################################***##+++++++++++ 
#+++++++++++++*%%####%%%%%%%%%%%%%%%%%######%###%%%%%%%%%%%%%%%%%##*##%%%*+++++++ 
%++++++++++*#%%%%%%%%%%%%%@@@@@@@@%%%%%%###%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@#+++++ 
%+++++++++*@@@@%####%%%@%%%%@@@%%@@@@@%%###%%%%%@@@@@@@@@@%%@@@%%##*+++*@@@#+++++ 
@+++++++++*%@@#++#%%%%%%%%#@@@@@%%@@@%@@@@@@@@@@@@@@%@@@@@@%%%@%%#**+++*%@*++++++ 
@*+++*++++++*@*++*%#%%%%%##%@@@@%%%%%%%%%####%%@%@@@%%%@@%%%%#%%%#**+++*#******** 
@#++*++++++*+*#++*%%#%%%%#######%%%%%%%%%#**##%%%@%%%%%%%%%%%#####**+++#********* 
@%+***++++*+++#++*#%####%%%%%%%%%%%%%@@%##*##%%%%%%%%%%%%%%%%####***++*#********* 
@%*******+++++*#++##%#####%%%%%%%%%##%%%#****#%%%%%%%%%%%%%%####****++#********** 
@@********+++++**+##%%#######%%%#####%%##****##%##%%#%%%%%%%######*++************ 
@@********++++++#*+#################%%###****##%##################**#************ 
@@*********+*+++++*##**############%%%###*****####################*************** 
@@#********+*++++++####%%%%#####%%%%%%##*******###################*************** 
@@%********++++++++*#####%%####%%%%%%##*********###########%#####**************** 
@@%********+++++++++##############%####**********################**************** 
@@@*******++++++++++*###################*********########%%#####***************** 
@@@*********+++++++++#####################****##################***************** 
@@@*********+++++++++*#################%#######%###############****************** 
@@@*********++++++++++#####################%%#%%%#############******************* 
@@@#*******++++++++++++##################%%%%%%%%############******************** 
@@@%***********++++++++*#######%%%##########%%%%%###%%%%#####******************** 
@@@@************+******###########%%%@@%%%%%%%@@@@%%%%%%%###+++++**************** 
@@@@******++++*********#############%%%%%%%%%%%%%%%%%%%%###**+++++++************* 
@@@@*+++++*++**********##############%%%%%%%%%%%%%%%%%%%##***+++++++++++********* 
#+++*++++***************###########%%%%%%%%%%%%%%%%%%%####***+++++++++++++++***** 
++*++**+****************####################%%%%%%########***+++++++++++++++++++* 
+***+++******************#################################****+++++++++++++++++++ 
****+++********************###############################****+++++++++++++++++++ 
***++++*********************#############%%%#%%%%%%%#####*****+++++++++++++++++++ 
***+++++**********************########%%%%%%%%%%%%%%###*******+++++++++++++++++++ 
**+++***************************#######%%%%%%%%%%%%##********++*+++++++++++++++++ 
**++***************************####**##%%%%%%%%#***####*****++**+++++++++++++++++ 
*********************************####################********+***+++++++++*+++*++ 
**************************************############*******+***+***++++++++++++++++ 
******************************************************+**********+++++++++++*****