%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%%###%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%#############%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***##############%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##******#################%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##******##################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*****####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***#######################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########***#################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####*******###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####********##############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**********##############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***********###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***********###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***********###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***********###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**********###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%###********################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%%%%%%%%%%#######################%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%#################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%#########################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%####%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%##########%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%############################################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###****####%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%###*************#################%%%%%%#%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%##*****####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%###*************##############%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@%%%%%%@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###****####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%@@@@@@%%%%@@@@@@@@@%%%%%%%%%%%%##################%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%###****####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@
###%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%#####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#####**#####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@
###%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%###################**######%%%%%########%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@%%%%@%%%%%%%@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%###***#####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@
###%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%##########################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%####***#####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@
###%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%%%###***####%###****######%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###*****####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@
###%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@%%%%%%%%%%########%%%%%##########%%%%%%%%%%%%%%%%%%@@@@@@%%%@@%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%###******###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@
###%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@%%%%%%%%%###*####%%%%%%%########%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#%%%###*******##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@
###%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%@@@%%%%%%%%########%%%%%%##########%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%##*######*******##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@
*##%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%@%%%%%%%##########%%%#################%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%##***#####******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@
*##%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@@%%%%%###**#############################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%##****#####******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@
**#%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@%%%##***#####%#################***#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@%%%%%@@@@@@@@@@@@@@@@%##****#####******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@
**#%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@%%%##***####%%%###########################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%%%@@@%%%%%%%@@@@@@@@@@@@@@@%##****####*******###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@
**#%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@%%###**##%%%%%############******#####%%%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%@@@@%%%%%%%@@@@@@@@%@@@@@%%##*****###*******###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@
**#%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%#######%%%%%######################%%%%######%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@%%%%%%@@@@@@@@@%@@@@@%%#******#*********###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@
**##%%%%%%%%%%%%%%%%%%@@@@@@%%%@@@%%%%%%%%#%%%%%%%%##########%%%%%%%#***####**#########%###########%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@%%%%@@@@@@@@@@@@@@@@%%#****************##%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@
**##%%%%%%%%%%%%%%%%%%@@@@@@%%%@@@%%%%%%%%%%%%%%%%####***###%%%%%%###**##########%%%%##############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@%%%%%%@@@@@@@@@@@@@@@%##******##*******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@
**##%%%%%%%%%%%@@@@%%%@@@@@@@@@@@@%%%%%%%%%%%%%%%%###***###%%%%%%%##############%%%%################%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%%%##%%%%@@@@@%%%%%%@@@@@@@@@@@@@@%%##*****####******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@
**##%%%%%%%%%%%@@@@@@@%%%%%%@@@@@@%%%%%%%%%%%%%%%%###***#%%%%%%%###*##########################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%##%%%%@@@@%%%%%%%@@@@@@@@%%%%%%%%#*******##******####%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@
**##%%%%%%%%%%%@@@@@@@%%%%%%%%@@@@%%%%%%%%%%%%%%%####*###%%%%%%############################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%##%%%%%@@%%%%%%%@@@@@@@@%%%%%%%%%#***************###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***####%%%%%%%##############%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%%%@@%%%%%%%@@@@@@@@%%%%@@%%%#***************###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######****##%%%%%%%%#########**###%%@@@%%%%%%%%%@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@%%%%%%@@@@@@@@@%%%@@@%%%#**+************###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########****####%%%%%%##**######***##%%@@@@%%%%%%%%%@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@%%%%%%@@@@@@@@@@%%@@@%%%#**+************###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######*****####%%%%%%###########***#%%@@%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@%%%%%%@@@@@@@@@@@@@@@%%##*+*************###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####*******###%%%%%#######%%%##**##%%@@%%%###%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@%%%%%@@@@@@@@@@@@@@@@%%##*+*****#*******###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####******##%%%%%######%%%%%%##*##%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%#%%%########%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%@@@%%%%%@@@@@@@@@@@@@@@@%%#**+*************###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####****####%%%#######%%%%%%#####%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%####################%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%@@@@%%%%%@@@@@@@@@@@@@@@@%%#**++************###%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*****#############%%%%%%%#####%%%%%%###########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%##########******#########%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@%%%%%@@@@@@@@@@@@@@@@%##**++************###%%@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@
***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###****#############%%%%%%%######%%%%%############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%########**************########%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@%%%%%@@@@@@@@@@@@@@@@%##**+*************##%%%@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@
***#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##****############%%%%%%%####%###%%%%#############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######*******************########%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@%%%%%%%@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@%%%%%%@@@@@@@@@@@@@@@%##**+************###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***############%%%%%%%#####%%###%%###############%########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%@@@@%%%%%%%%%%%%%%%%%%%#######***********************#########%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@%%%%%%%%%@%%%%%%%%%%%%%%%%%%@@%@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@%%%%%%@@@@@@@@@@@@@@%%##**+**##********###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***###%%######%%%%%%%%######%####%%#####%%########%#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%####%%########**************************########%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%@@@@@%%%%%%%@@@@@@@@@@@@@@%%#******##********###%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***###%%######%%%%%%%%%#####%%###########%%%%#####%%%%%%###%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%%#######*****************************#######%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@%%%%%%%%@@@@@@@%%@@@@@%%#******##********###%%@@@@@@@%%%@@@@@@@@@@@@@@@%%%@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###**##########%%%%%%%%%%###################%%%%%###%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%################********************************########%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@%%%%%%%%%@@@@@%%%%%%@%%##******##********##%%%@@@@@@@%%%@@@@@@@@@@@@@@@%%%@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#############%%%%%%%%%%%%%################*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%################**********************************#########%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@%%%%%%%%%@@@@@%%%%%%%%%##******##********##%%%@@@@@@%%%@@@@@@@@@@@@@@@@%%@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###########%%%%%%%%%%%%%%%###############**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###############*************************************########%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%@@@@@%%%%%%%%%@@@@@%%%%%%%%%#*******##********##%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###***####%%%%#%%%%%%%%%%%%#########%####**##%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########*#####**********++******+++******************######%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@@%%%%%%%%@@@@@@%%%%@@%%%#*****************##%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%##****##%%%%%##%%%%%%%%%%%%#############***##%%%%%%#####%%%%%####%%%%%%%%%%%###%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########***####**********+++******++*******************#####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@@%%%%%%%@@@@@@@%%%%@@%%%#*****************##%%%@@@@@%%%%@@@@@@@@@@@@@@@@%%@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%%%%@%%%%###***##%%%%%%%%%%%%%%%%%%%%##################%%%%%%######%%%######%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########****###***********++++*****+++*******************#####%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@@%%%%%%%@@@@@@@%%%%@%%%%#*****************##%%%@@@@@%%%%@@@@@@@@@@@@@@@@%%@@@@@@@@@@
**##%%%%%%%%%%%%%%%@@@@@@%%%%%%%####*###%%%%%%%@@%%%%%%%%%%%%%#################%%%%%%%###############%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########*****###***********++++++++++++++++++++++++*********####%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%@@@@%%%%%%@@@@@@@@%%%%@%%%%#****************###%%%@@@@%%%%%@@@@@@@@@@@@@@@@%@@@@@@@@@@@
**##%%%%%%%%%%%%%%%@@@@@@%%%%%%%#######%%%%@%%%%%%%%%%%%%%%%%%##################%%%%%%###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%###########******###***********+++++++++++++++++++++++++*********####%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@@%%%%%@@@@@@@@@%%%@@%%%##****************##%%%%@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%%@@@%%%%#######%%%@@@%%%%%%%%%%%%%%%%%##################%%%%%%####################%%%%%%%##%%%%%%%%%%%%%%%%%%###%%%%#####%############********##*************++++*****++++*********++*********####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@@%%%%%@@@@@@@@@@@@@@@%%#**+**************##%%%@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%@@@@@%%%########%%%%%%%%%%%%%%%%%%%%####################%%%%%%######################%%%%####%%####%%%%%%%%%###########################********##**************+++******+++++++++***+++********####%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%%%@@@@@%%%%%@@@@@@@@@@@@@@@%%#**+**************##%%%@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
**##%%%%%%%%%%%%%%%%%%%%@@@@@@%%%########%%%%%%%%%%%%%%%%%%#####################%%%%%%%#####################################%%%%%#############################************************+++******+++++++++***++++*******####%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%%@@@@%%%%%%@@@@@@@@@@@@@@%%%#**+**************##%%%@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
**##%%%@@@%%%%%%%%%%%%%@@@@@@@%%%###########%%%%%%%%%%%%%#######################%%%%%%%%%###################################%%##############################*******##*******************+++***+++++******+++++++********###%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%%%%%##%%%%%%@@%%%%%%%%@@@@@@%%%%%%%%%##**+*************###%%@@@@@%%%%%@@@@@@@@@@@@@@@%%@@@@@@@@@@@@
**##%%%@@@%%%%%%%%%%%%%@@@@@@@%%%#############%%%%%%%%%%########################%%%%%%%%###################################################################*******###*******************+++***+++++******+++++++*********###%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%%%%%%%%%%%%%@@%%%%%%%%@@@@@%%%%%%%%%%##**+*************###%%@@@@@%%%%%@@@@@@@@@@@@@@@%%@@@@@@@@@@@@
**##%%%@@@%%%%%%%%%%%%%%@@@@@%%%###############%%%%%%%%%%%%#######%%%###***######%%%%%%####***#############################################################*****####******************+++++****+++*****++++++++++*********###%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%@@@@@%%%%%%@@@@@@%%%%%%%%%%##*++*************##%%%@@@@%%%%%@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@
**##%%%@@%%%%%%%%%%%%%%%%@@%%%%####################%%%%%%%%######%%%####**#######%%%%%###*****###%%##############################################################*******************+++++++******++++**++++++++++**********###%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%@%%%##*++*************##%%%@@@@%%%%%@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@
**##%%%@@%%%%%%%%%%%%%%%%%%%%##########################%%%####%%%%###****########%%%###*******##%####**##########################################################*******************+++++++******++++***+++++++++***********##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**++*************##%%@@@@@%%%%%%@@@@@@@@@@@@@@%%%@@@@@@@@@@@@
**##%%%@@@%%%%%%%%%%%%%%%%%%##############################%%%%%%###*****########%%%##*********#####*****######*********################********################********************++++++++*******+++++++++++++++++++*******###%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#***+*************#%%%@@@@@%%%%%%@@@@@@@@@@@@@@%%@@@@@@@@@@@@@
**##%%%@@@%%%%%%%%%%%%%%%%%%##################%%%%%########%%%%###******############*****************+************++++*******#######************########***************************++++++++*******+++++++++++++++++++*+******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**++************##%%%@@@@%%%%%%%@@@@@@@@@@@@@@%%@@@@@@@@@@@@@
**##%%%@@@%%%%%%%%%%%%%%%%%%###%%%###*#####%%%##############%%###*****###########**********+++++++++++++++++++++++++++++++++********************######****************************+++++++++****+++++++++++*******++++++++*****##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##**+++*****+++***##%%%@@@%%%%%%%%@@@@@@@@@@@@@@%%@@@@@@@@@@@@@
**##%%%@@@%%%%%%%%%%%%%%%%%%%#%%%%###**########################################**+++++++++++======++====================+++++++++++++*********************************************+++++++++****+++++++++++********+++++++++****##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#**+++++***++++***##%%@@@@%%%%%%%%@@@@@@@@@@@@@@%%@@@@@@@@@@@@@
**##%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%####**##################*****##############*+++===+++===================================++++==++++++++++********************************++***+++++++++++++******++++++***********+++++++++****##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**++++****++++***##%%@@@@%%%%%%%%@@@@@@@@@@@@@%%%@@@@@@@@@@@@@
**##%%%%@@%%@@@%%%%%%%%%%%%%%%%%%%####*****#############***++====+++*******++===========----=------------------------============++++++++++++++++++++++++*******+++++++++++++++++++++++++++++++******+++***********+++++++++****##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**++++****++++***#%%%@@@@%%%%%%%%@@@@@@@@@@@@@%%%@@@@@@@@@@@@@
**##%%%%@@%%@@@%%%%%%%%%%%%%%%%%%#####******###########**++=---::---==++++==-----====----------------------------------==========+====+++++++++++++++++++++++++++++++++++++++++++++++++++++++++******+++*************++++++++****##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*+++++****++++***#%%%@@@@%%%%%%%%@@@@@@@@@@@@@%%%@@@@@@@@@@@@@
**##%%%%@@%%%%%%%%%%%%%%%%%%%###%%#####*******#######***++==--:::::::::---------------------------------------------------=============++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************+++++++****##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%#########%%%%%%######%%%%%@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**+++*****++++**##%%%@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
**##%%%%@@%%%%%%%%%%%%%%%%%%####%%%######******#####***+++==--:::......::::::-----------------------------------------------=======++++==+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**************++++++++++**##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%########################%%%@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#**+++*****++++**##%%@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*###%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%########*****###****+++=--:::::.....:::::::::::::::::::-----------------------------------======++++=========++++++++++++++++++++++++++++++++++++++++++++++++++++***********************+++++***#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%################*******##%%@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##**++****+++++**##%%@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*###%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%###%%%####***********+++=--:::::........::::::::::::::::::::::::::::-----------------------=====================++++++++++++++++++++++++++++++++++++++++++++++++++*************++++++***++++++***##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%###########*************##%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@%##********+++++**##%%@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*###%%%%@%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%###**********+++==-:::::....:........::::::::::::::::::::::::----------------------======================++++++++++++++++++++++++++++++++++++++++++++++++***************+++********+++****#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%#########**************######**#####%%%%%%%%@@@@@@@@@@@@@@@%%#####%%%%@%%%%###********++++**##%%@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*###%%%%@@%%%%%%%%%%%%%%%%%%%%%%###%%%%%%%###***********++==--::::..............:::::::::::::::::----------------------------======================++++==+++++++++++++++++++++++++++++++++++++++++**********************************##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%##########********######*++====++***###%%%%@@@@@@@@@@@@@%%##*****##################********##%%@@@@%%%%%%%%%%%%@@@@@@@@%%@@@@@@@@@@@@@@@@
*###%%%@@@%%%%%%%%%%%%%%%%%%%%%####%%%%%%%%###**********+++=--::::........:.....:::::::::::::::::-----------------------------=====================+======++++++++++++++++++++++++++++++++++++++**********########***************+***##%%@@@@@@@@@@@@@@@@@@@@@%%@@@@%%%############***#########*==-:::-=++**###%%%@@@@@@@@@@@%%%##*************############*******##%%%%%%%%%%%%%%%%%%%%@@@@@%%%@@@@@@@@@@@@@@@@
####%%%@@@%%%%%@@@%%%%%%%%%%%%%###%%%%%%%%%####*********+++=--::::::........:::::::::::::::::::::--------------------------------==========================++++++++++++++++++++++++++++++++**********######################*****++****##%%@@@@%@@@@@@@@@@@@@@@%%%%%%%%%###################%%%##+=-::::-=++***##%%%@@@@@@@@@@%%%#####****++++++****#########*******###%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@
####%%%@@@%%%%%@@@%%%%%%%%%%%%%###%%%%%%%%%%%####*******+++=--:::::.........::::::::::::::::::::::-------------------------------=========================+++++++++++++++++++++++++++++********##########%%%%%%%############*****++****#%%%@@@%%@@@@@@@@@@@@@@%%%%%%%%###################%%%%##+=-:..:-==+**###%%%@@@@@@@@@%%%%########*++====++***######*********#####%%%%####%%%%@@@@@@@@%%%%%%@@@@@@@@@@@@@@@
####%%%@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###****+++++==--::::.......::::::::::::::::::::::::::----------------------------=========================+++++++++++++++++++++++++++******#######%%%%%%%%%%%%%%%%%%##########****++++**##%%@@@%%@@@@@@@@@@@@@@@@%%%%%%##*################%%%%#*+=-:..:-=++**###%%%@@@@@@@@@%%%%%%%%%%%#*++====++********************############%%@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@
####%%%%@@@@@@@@%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%###***+++++==--::::.....::::::::::::::::::::::::::::----------------------------=======================+++++++++++++++++++***********######%%%%%%%%%%%%%%%%%%%%%%%%%%%#########***+++***##%%@@%%@@@@@@@@@@@@@@@@%%%%%%########################*+==-:--=+++***##%%%%@@@@@@@%%%%%%%%%%%%##*+++++**************#############%%%%%%%%@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@
####%%%%@@@@@@@@%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%####**+++++==--::::....::::::::::::::::::::::::::::------------------------==---====================+++++++++++++++++++++*********####%%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%##########***+++***#%%@@%%%@@@@@@@@@@@@@@@%%%%%%#####%%##################*+++==++*****####%%%%%%%%%%%%%%%%%%%%%%####***##########################%%%%%%%%%@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@
####%%%%@@@@@@@@@@@@%%%%%@@%%%%%%#######%%%%%%%%%%###**+++++==--:::..:::::::::::::::::::::::::::::-------------------------==-=====================++++++++++++++++++++++*****####%%%%%%@@@@@@@@@@@@@%%%%%%%%#################*****+++****#%%%@@@%@@@@@@@@@@@@%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@@@@@@@@@@@%%%%%%%%%%%%%%######%%%%%%%%%%%##*****++==--:::..::::::::::::::::::::::::::::----------------------============================+++++++++++++++++++******###%%%%%%@@@@@@@@@@@@@%%%%%%%%##########***************+++++**##%%@@@%%@@@@@@@@@@%%%%%%%#####%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@
####%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%####%%%%%%%%%%%%##******++=--::::..:::::::::::::::::::::::::::-----------------=================================++++++++++++++++++****####%%%%%%%%@@@%%%%%%%%%%%%###########******************++++++++**##%@@@@%%%@@@%%%%%%%%%%%######%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@
####%%%%@@%%@@@@@@@@@%%%%%%%%%%%%%####%%%%%%%%%%%%%%##*****++=--:::::::::::::::::::::::::::::::---------------=====================================++++++++++++++++*****###%%%%%%%%%%%%%%%%%%%%%%%%%%##############*************++++++++++**#%%@@@%%%%%%%%%%%%%%%%%##*##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@
####%%%%@@%%@@@@@@@@@%%%%%%%%%%%%%####%%%%%%%%%%%%%%%###****+==-:::::::::::::::::..:::::::::::---------============================================+++++++++++++******####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###########*****++++++++++++++++**#%%%%%%%%%%%%%%%%%#%%##**#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@
####%%%%@@@@@@@@@@@@@%%%%%%%%%%%##########%%%%%%%%%%%#####**++=--::::::::::::::::.....::::::-----============+++++++++++++++++++++++++++=============++++++++++******#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######%%%%####****++++++++++++++++**#%%%@@%%%%%%%%##########%%@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@@@@@@@@@@@@%%%%%%%%%%%##########%%%%%%%%%%%######**+=--::::::::::::::::.....::::----=====++++++++++++*********************++++++++==========+++++++++*****#############%%%%%%%@@@@@@@@@@@@@@%%#######%%%%%%%####******+++++++++++++**#%%@@%%%%%%############%@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@%%%@@@@@@%%%%%@@@@@@%%%########%%%%%%%%%%%%#######*+==-:::::::::::::::....::::----===++++++*******#######################****+++++++++======+++++++++******##########%%%%%%%%%@@@@@@@@@@@%%%%#**++++*#%%#########********+++++++++++**#%%%%%%%%%#******####%%@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@%%%@@@@@@%%%%%@@@@@@%%%%%%%%##%%%%%%%%%%%%%#######**+=-:::::::::::::::::::::---====++*********#######%%%%%%%%%%%%%%%#######****++++++++++++++++++++++********#######%%%%%%%%%%%@@@@@@@@@%%%%%#*++++**#############*******++++++++++++*#%%%%%%%%#********##%%@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@%%%@@@@@%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%########*+=-:::...:::::::::::::---===+++****#########%%%%%%%%%%%%%%%%%%%%%%######**********++++++++++++++++*********####%%%%%%%%%%%%%%@@@@@@@%%%%%##*****###*******###********+++++++++++++*#%%%%%%%#********#%%@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%@@@@@%%%%@@@%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######*+=-::..::::::::::-----===+++++***#######%%%%%%%%%%%%%%%%%%%%%%%#######*******+++++++++++++++++++++++++*****#####%%%%%%%%##%%%%@@@@@@%%%%%##*************************++++++++++++++*##%%%%%##*******##%%%%@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%@@@@@%%%%@@@%%%@@@@%%%%%%%%%######%%%%%%%%%%%%%%%#####*+=-::..:::::::----=====+++++****#######%%%%%%%%%%%%%%%%%%###########******++++++++=========++++++++++++****######%%%%%%%%####%%%@%%%%%%####************************+++++++++++++++**#%%%%%##*******##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@@@@@@@@@@@@@%%%@@%%%%%%#######%%%%%###%%%%%%%%#####*+=-::...:::::---=====++++*****########################%%%%%###########***+++====---------=====+++++++++*****#####%%%%%%%%%####%%%%%%######************************+++++++++++++++++**#%%%%%#*******###%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@@@@@@@@@@@@@%%%@@@@@%%%#######%%%%%####%%%%%%%%#####+=-::...:::::--=====+++++**********####****###########%%%%%%%%%########***+++==---::::::---=====+++++++*****#####%%%%%%%%%##############************************+++++++++++++++++++**#%%%%%#*******###%%%####################%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@@@@@@@@@@@@@%%@@@@@@@%%##**####%%%%%%%%%%%%%%%%#####*=--:..::::::---=======+++++++++++*****++++**###%%%%%%%%%%%%%%%%%%%%%####**+++=---:::::::----====++++++******############################***********************++++++++++++++++++++*#%%@%%##*****###%%%%%%%################%%%%%%%%%%%@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@%%@@@@@@@@@@%%@@@@@@@%%##***###%%%%%%%%%%%%%%%%%%##*+=-::..:::::::---==============++++++++++***####%%%%%%%%%%%%%######%%%###**++===--::::::::----===+++++++*****##########################*********************++++++++++++++++++++++++*#%%@%%#******##%%%%%%%%################%%%%%%%%%%%@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@%%%@@@@@@%%%%@@@@@@@@@%%**+*###%%%%%%%%%%%%%%%%%%##*+=-::...:::::::----------======+**++=+++**######%%%@@@%%%%%%#############**++===--:::::::::---====++++++******########################*********************+++++++++++++++++++++++++*#%%%%%#*++**##%%%%%%%%################%%%%%%%%%%%%%@@@%%%@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@@@%%%%@@@%%%%@@@@@@@@@%%#***###%%%%%%%%%%%%%%%%%%%#*+=-::...::::::::::::-------==++***++=+***+++**##%%@@@@%%%%%###***###%%###**+====---::::::::---====+++++++******#######################*******************+++++++++++++++++++++++++++**#%%###*+***###%%#####################%%%%%%%%%%%%%@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@@@%%%%@@@%%%%@@@@@@@@@%%##*#####%%%%%%%%%%#%%%%%%%#*+=-::...::::::::::::::-----=+****+++++**+=--=+*#%%@@@%%%%%%##*****######**++====---:::.::::----====+++++++******######################****************++++++++++++++++++++++++++++++**#####**+***###%######################%%%%%%%%%%%%%@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@%%@@@@%%%%%%@@@@@@@@@@@%%##*########%%%%%%%%%%%%%%##*==-:....:::::::::::::---==++********+=--:.:-+*#%%@%%%%%%%%#*****######***+++===--:::....:::---=====++++++**********#################*****************++++++++++++++++++++++++++++++***###******############################%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####%%%%@@%%@@@@%%%%%%@@@@@@@@@@@%%%##********#%%%%%%%%%%%%###*+=-:........:::::::::---==++****++++==-::::--=*##%%%%%%###*******###*****+++===--:::.....::---======+++++++*************#######*********************++++++++++++++++++++++++++++++++**********############################%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@%%%%%%%%%@@@@@@@@@@@@@@@%%%##**+++++*#%%%%%%%%%%%###*+=-:........::::::::----==+++++++=------------=++*#####*******************++==--:::......:::---=====+++++++++**************************************+++++++++++++++++++++++++++++++++**********##%%########################%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@@@%%%%@@@@@@@@@@@@@@@@@@@@%%##*+==++*##%%@%%%%%%####*+=-::........::::::::---===++++==-::::---==--===+++***********************++==--:::.......::--======++++++++++*************************************++++++++++++++++++++++++++++++++*****+++***##%%########################%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*++=+++**#%%%%%%%%####**+=::........::::::::----======--::::::---========++++++*****************++==--::::.......::---=====+++++++++++***********************************+++++++++++++++++++++++++++++++++*****+++**###%%#######################%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@%#*++**++=++*##%%%%###***+=-:........:::::::::----------::::::::----=====+++++******************++=---:::::........::--=====+++++++++++++++******************************++++++++++++++++++++++++++++++++++*****++**###%%%#######################%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%#####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@%#***++=====+*##%%###***+=-::........::::::::--------:::::::::::----====+++++****************+++=--::::::..........::--=====+++++++++++++++*****************************++++++++++++++++++++++++++++++++++*****++*##%%%%%%%#####################%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%###***###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*+==++=-:-=+*#%%###**+=-::.........::::::::::::::::::::::::------=====+++++++*******+++++++==--::::::............::--======+++++++++++++******************************+++++++++++++++++++++++++++++++++****+++**#%%%%%#######################%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%##*****##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#+====-:::--=*######*+=-::.........::::::::::::::::::::-----------======++++++++++++++++++==--::::::.............::---=====++++++++++++++++****************************++++++++++++++++++++++++++++++++****+++*##%%%%%%%#####################%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%##*****##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%%@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@#*+=--:::::-=+**####**=-::.........::::::::::::::::::::-------------=======+++++++++++++===-:::::.................::---=====++++++++++++++++****************************++++++++++++++++++++++++++++++******+**#%%%%%%%%%%%%%%################%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%###****###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@%##+=-::::--==++*####*+-::.........::::::::::::::::::::::-------------======++++++++=====---::::..................:::--=====+++++++++++++++++++**************************+++++++++++++++++++++++++++++*****####%%%%%%%%%%%%%%%%%%%%############%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%###****###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@%#+=-:::-====+*####*+-::.........::::::::::::::::::::::-------------=========++======---::::::...................::---====++++++++++++++++++++*************************++++++++++++++++++++++++++++++**###%%%%%%%%%%%%%%%%%%%%%%%%%%%%########%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%##*****###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@%#*+-::-===++**####+=-:.........:::::::::::::::::::::-------------==============------::::::::...................::---===++++++++++++++++++++++***********************++++++++++++++++++++++++++++++**##%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%##*****##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@%%*=-::--=++***###*=-::.........::::::::::::::::::::--------------============--------:::::::...................:::--====++++++++++++++++++++++***********************+++++++++++++++++++++++++++++**#%%%@@@@@@@@@@@@@@%%%%@@@@%%%%%%%%##%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*****##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@%*+-:::-++++*###*+=-:...........:::::::::::::::::::----------------------------------:::::....................:::---===++++++++++++++++******************************++++++++++++++++++++++++++++**##%%@@@@@@@@@@@@@@@@@@@@@@@%%%%%#####%%%########%%%%#############%%%%%%%%#%%%%%%%%%%%%%%###******##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@%##+-::--=++**##**+-:.............:::::::::::::::::::---------------------------------::::...................:::::--===++++++++++++++++*****************************++++++++++++++++++++++++++++***#%%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%######%##########################%%%%%%#######%%%%%%%%%####******##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%#+-:::-=++***#**=-:..............::::::::::::::::::::--------------==========-------::::...................::::--===++++++++++++++++++***************************+++++++++++++++++++++++++++***##%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%##################################%%%%%##############%%#####*****###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%#**=-:::-==++***+=-:............::......:::::::::::::-------------=============-----::::....................:::---===++++++++++++++++++++************************+++++++++++++++++++++++++++***##%%@@@@@@@@@@%%%%%%@@%%%%%%%%%%#################%%###############%%%%######################*****##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%#*=:::::---=+++==-:....................:::::::::::::------------==============-----:::.....................::---====++++++++++++++++++++************************+++++++++++++++++++++++++***##%%%@@@@@@@@@@%%%%%@@@%%%%%%%%%#################%%%%###############%%######################******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@%%%%%%#*=-:::::::::-=+=-:.....................::::::::::::----------================----::::....................:::--=====+++++++++++++++++++++**********************+++++++++++++++++++++++******##%%@@@@@@@@@@@@@@@@@@@@%%%%%%%################%%%%%#######################################******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@%%%%%%%#*+-:.::::..:===-:::.....................::::::::::----------==================---::::::::...............:::---====++++++++++++++++++++++**********************++++++++++++++++++++++******#%%@@@@@@@@@@@@@@@@@@@@@@@%%%%%################%%%%%#######################################******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@%%%%%%%%#*=-::-::..::-----:.......................::::::::----------====================--::::::::::............:::---====+++++++++++++++++++++++**********************++++++++++++++++++++++****##%@@@@@@@@@@@@@@@@@@@@@@@@%%%%#################%%%%%#######################################******##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@%%%%%%%%%#*=-::......::-=-:::......................::::::::::-------===========+++++++==--::::::::::.............:::---====++++++++++++++++++++++**********************++++++++++++++++++++++****##%@@@@@@@@@@@@%%%@@@@@@@%%%%%%#################%%%%%######################################******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%#+=-:.......:-----::......................::::::::::------======+++++++++++++==--:::::::::..............::---====++++++++++++++++++++++**********************++++++++++++++++++++++****##%@@@@@%%%@@@%%%%%%%%%%%%%%%%%#################%%%%%######################################******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%%#*=-:......:------:......................:::::::::--------====++++++++++++++==--::...::::..............:::--====+++++++++++++++++++**************************++++++++++++*+++++++++***##%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%################%%%%#######################################******##%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%%%#*=-:.....:::----::.....................:::::::::-------=====+++++++++++++===--::......................::--=====++++++++++++++*******************************+++++++++++**+++++++++**#%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#############%%%%%#######################################******##%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%%%%##*=:.......:----::......................::::::-------======+++++++++++++====-:.......................::---====+++++++++++***********************************++++++++++*****++++++**#%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######################################*******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%%%%%%#+-:......::---:::......................:::::-------=====++++++++++++======-::......................::--====+++++++++++**####*******************************++++++++******++++++*##%@@@@%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%######################################*******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%%%%%%%*+-:. ..:::-----::...................:::::::------=====++++++++++++======---::.....................::--====++++++++++**#####*************#######***********+++++++*******+++++**#%%@@@%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%######################################******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@%%%%%%%%%%%%%%%##+=-:.:::--=----::..................:::::::------====++++++++++++====-------:::::::::::::........::--====+++++++++***######*********##############********+++++++********+++**##%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%%%#####################################*******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@%%%%%%%%%%%%%%%%#*+=----=====--:::................::::::::-----====++++++++++++====------------------:::::::...:::--===++++++++***##################################*****++++++*********++***##%%%%%%%%%%%%%%%##%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%#####################################*******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@%%%%%%%%%%%%%%%%%%##**+++====--:::::.............:::::::::----=====+++++++++++====---------------------:::::::::::-===++++++++***###%%%%#############################****++++++********+++**##%%%#######%%%%####%%%####%%%@@@@@@@@@@@@@@@@@@@%%%%%%#####################################*******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%##**+++++=--:::::...........::::::::::---======+++++++++====------------------------------------==++++++****###%%%%%%############################****++++++********++**##%%%%################%%%#####%%%%@@@@@@@%%%%%%%%%%%%%%######################################*******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%###*+++***=-:::::::::..:::::::::::::::---=====++++++++=====-------------------------========---===++++****####%%%%%%%%###########*******########*****++++++***#*******##%%%%%##################%%%%######%%%%%%%%%%%%%%%%%%%%######################################*******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%##**+++*##*==-:::::::::::::::::::::::----=====++++++====-------------------------=======+++++++++***########%%%%%%%%#######***********##########*****+++++************##%%%%%%##%%%%########################%%%%###################################################*******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@%%%%%%%%%%%%%%%%%%##**++*####*+=-::--::::::::::::::::::----=====++++====-------======-------==--=====+++++++****######%%%%%%%%%%%%%#######**********###############****+++++************#%%%%%%%%%%%%%%%%#############%%%%%##########################################################*******###%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@%%%%%%%%%%%%%%%%%%###****#%##**=---::::::::::..::::::::-----============---=========================++++++++***##%%%%%%%%#####%%%%#####**********####%#############*****+++*************#%%%##%%%%@@@@@%%%%###########%%%%%%%%%#%%%%%%%%%############################################*******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@%%%%%%%%%%%%%%%%%%##*****#####*+=--::::::::::::::::::::-----================================+++++++++++++++****###%%#################*********######%#####******###*****+++********+***##%%%%#%%%%@@@@@%%%%%##########%%%%%%%%%#%%%%%%%%%%%%%%%%%%%##################################*******##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@%%%%%%%%%%%%%%%%%%##*+===+*##%#*+=-:::::::::::::::::::-------=======---====++++++++++++====+++++++++++++++++**********+++++***#####******#############*******************+*********+**##%%%%%%%%%%%%%%%%%%%######%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%######%##############%%%%%%#########******##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@%%%%%%%%%%%%%%%%%%%%##*+===+*##%%#**=-:::::::::::::::-----::--------===-====+++++++=+=========================++++++++++++++*****#******##############****++************************++**##%%%%%%%%#%%%%%%%%%%%######%%%%%%#####%%%%%#%%%%%%%%%@@@@%%%%%%%%%%%%#####%%%####%%%###########*****###%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%##*+==+**#%%%%#*+=-:::::::::::-------::::-------======+++++++===============================+++++++++************#########***##*****++++********************++++**#%%%%%%%%%##%%%%%%%%%%%%##**##%%%%######%%%%%%####%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%#########################%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%##*++++***##%%%##*=-:::::::::--------:::::-------====+++++++++=============================+++++++++*********#########************+++++++++****************++++**#%%%%%%%%%%%%%%%%%%%%%%%%%#**###%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%%%##%%%%%%%%%%%%%%%%%%%%%########%#################%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%##***+*****##%%%%#*=--::::::---------::::::::----===+++++++++++==========================+++++++++++****##**#######**************+++++++++++*************++++++**#%%%%%%%###%%%%%%%%%%%%%%%######%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%###%%%%%%%%%%%%%%%%######%%%##########****######%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%####********#%%@@%#*+=-::::::---------:::-:::::---===++++++++++++++++++++++++++++++++++++++++++++++****#######*****************+++++++++++++************++++++***##%%%%%%%#%%%%%%%%%%%%%%%%%%%####%%%%%%%%%%####%%@@%%%%%%%%%%@@@@@@@@@%%%###%%%%%%%%%%%%%%######%%%%%#########################%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%####*******##%%%@@%%#*=-:::::-----::-------:::::--===++++***++++++++++++=======+====+++++++++++++++**************************+++++++++++++++************+++++***####%%%%%%###%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%###%%%%%%########%%%#######################%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%###*******###%%%%%%@@@%#+=-:::::--::::------:::::---==++++**++++++===--------===------====++++++++++*************************+++++++++++++++++************++++**######%%%%%####%%%%%@@@@@@@%%%%%###%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%########%#############################%%%@@@@@@@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%##****+++++**##%%%%%%%@@@@%%*=-::::::::::-------::::----==++++*++++===----------------:::----=======+++++++++++***************+++++++++++++++++++++**********+++**##%%%%%%%%%######%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###################################%%%%%%%%%@@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%####**+++++++++**#%%%%%%%%%@@@@@%*+=:..::::---------:::::---===++++++++==----:::---------::::::------====+++++++++***************+++++++++++++++++++++++++*******+++*##%%%%%%%%%%#####%%%%%#%%%%%%%%%%%##%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%@@@%%%%@@@%%%%%#########################################%%%@@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%##***++++++++*+++++**#%%%%%%%%%@@@@@@%#*=-::::::::::------:::---====++++++===----:::::-----------------====+++++++++******************++++++++++++++++++++++*********++*##%%##%%%%%%%##%%%%%%%%%####%%%%%%%##%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%#############%%%%%%#####################%%%@@@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%##***+++++++++++++++++**##%%%%%%%%@@@@@@@@%*+==-:::::::------------====+++++====----::::::::-------------====++++*************************++++++++++++++++++++************##%%%%#%%%%%%%##%%%%%%%%%####%%%%%%###%%%@@@@@%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%###########%%%%%%%%%####%%%###########%%%%@@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%#*+++++****+++++=====++**###%%%%%%%@@@@@@@@@@%#*=--:::---------------===+++=====-----::::::::::----------=====+++++++*********************++++++++++++++****++++**********#%%@@%%%%%%%%%%%%%%%%%%%%%####%%%%%####%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@%%%%%###########%%%%%%%##%%%%############%%%%@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%###***+++++++++++==++======++***###%%%%%@@@@@@@@@@@@%#*+=-::----------------===++=====------:::::::::::--------=====++++++++********************++++++++++++++****++++*********#%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%@@@@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%#########%%%%%%%%%%%%%#############%%%@@@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%##***+===++*****++=====+++===+++****##%%%@@@@@@@@@@@@@@@%#*+--------=====--------==+=====-------:::::::::::--------====++++++++********************+++++++++++++*****+++*********#%@@@@@@%%%%%%%%%%%%###%%%@@@@@%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%%%%%###########%%%%%@@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#*****+++===+******+++++++++++====++***###%%%@@@@@@@@@@@@@@@%%#+====------=----------==========------:::::::::--------===++++++++***********************+++++++++++***************###%%@@@@@%%%%%%%%%%%%%######%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%#############%%%@@@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%##**++++++===++**##**++++++****++=====+**##%%%%%@@@@@@@@@@@@@@@@%#*+=====-----------------==========-------::::::--------===++++++++***********************+++++++++++***********#####%%%@@@@@%%%%%###%%%%%%%%%%######%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%##########**###%%%@@@@@@@@@@
%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%##**++++++++++++++++****++++++++**+==----=+*#%%%%%%%@@@@@@@@@@@@@@@@%#++======------:------------========--------::---------=====++++++++*********************+++++++++++*********######%%@@@@@@@%%%%######%%%%%@%%%%%###%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##############%%%%@@@@@@@@
####%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%##***+++=++++++++++++++**++++***++***+=---==+*##%%%%%%%%@@@@@@@@@@@@@@@@#*++======-----:::---------===========-----------------======++++++++++**************+++++++++++++++*******#######%%@@@@@@@@%%%%#####%%%%%@@@@%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%@@@@%%%%%%%%@@@@@@@%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%###%%################%%%%@@@@@@
#####%%%%%@@@@@@@@@@@@@@@@@@@%%#**+++++++==++++***+===++***++++******##+=-==+**##%%%%%%%%%%@@@@@@@@@@@@@@@%#*+=========--::::------==============----------------========+++++++++++++++++++++++++++++++***+++*******######%%%@@@@@@@@%%%%%##%%%%%%%%@@@@@%%%%%%%%%%%%##%%%@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%@@@@@@@@@@@@@@%%%%%%##%%%%%%%%%%%%%%%%%%######%%%%%%%%%%######%%#####%%%%###*###%%%@@@@@
#####%%%%%@@@@@@@@@@@%%%%%%###**++++++++++++=++***++++**********#######*+==++**##%%%%%%%%%@@@@@@@@@@@@@@@@@%#*+==========-----------============---===-----------================++++++++++++++++++++++**************#####%%%@@@@@@@@@@%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%@@@@@@@@%%%%@@@@%%%%%%%%%%%%%%@@@@%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%%%%######%%%%%###%%%%%#####%%%%%@@@
#####%%%%%@@@@@@@%%%%%###****++++++++++++++++++******#############%%%##**++++**##%%@@%%%%@@@@@@@@@@@@@@@@@@@%#*+===========---------------===------===----------====================++++++++++++++++++***************####%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@@@%%%%%%%%%%%@@@@@@@@%%%%%%%@@@@@%%%%%%@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%@@@%%%%%%%%%%%%##%%%%%%%%%%%%#######%%%%%%%##%%%%%%%%%%%%%%%%
#####%%%%%@@@@@%%%%##**+++====+++++*+++++++****######***#########%%%%###**+++++**##%%@@@@@@@@@@@@@@@@@@@@@@@@%#*+=============------===------------------------------------==========++++++++*++++++**********####*#####%%@@@@@@@@@@@@@%%@@@@@%%%%%####%%%@@@@@@@@%%%%%%%%@@@@@@%%%%%%%%%%%@@@@%%%%@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%####%%%%#%%%%%%%%%%%%##########%%@@%%%%#%%%%@%%%%#####
######%%%%%%%%%###***+++=====+++******++++**#########***###%%%%#####%%##**+++++**##%%%@@@@@@@@@@@@@@@@@@@@@@@%%#*+=====--=======---=====-----------------------------------==========++++++++++++++*********###########%%@@@@@@@@@@@@@@@%@@@@@%%%%%#####%%%@@@@@@@@%%%%%%%@@@%%%%%%%%%%%%%%%@@@@%%%@@@@@@%%%%%%%%%%@@@%%%%%%%%@@@@@@@%%%%%%%%%#################%%%%%%%%%%%%%%%####*######%%@@@%%%##%%%%%%%%#####
######%%%%%%##**++++++++++++++++***###*****###########*############%%%%#*++++*#####%%%%%@@@@@@@@@@@@@@@@@@@@@@%%#*++=====-----============--------------------------------======++++++++++++++++++**********#########%%%@@@@@@@@@@@@@@@@@@@@@@@%%%%%%#%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%###***####%%%%%%%%%%%%%%%%%%%####*
###########**++====++++++*********###****##########**################%%#*++++**###%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%#**++=====------===========---------======---------------=======++++++++++*****************########%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%@@@@@%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%%%%#########%%%%%%%%%%%%%%%##########
#####****+++=========+++**#****#####*****######*******###############%%##**++++**#%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%##*++======------==+++++===----:---========------------========+++++++++*****************########%%%@@@@@@@@@@@@@@@@@@@@%%@@@@@@%%%%%%%%%%%%%%%%#%%%@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%#######%%%@@%%%%%%%%%%%##*####%%%
********+++===++++++***####****#%%##**++*####*****+++*******#########%%%##*++++**##%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%##*++=======------===+++++===------=======-------============++++*********************######%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%###%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%##%%@@%%#%%%%%%%%%%%%@@@%%%%%%%%%%##**#####%
****++***+++++*******#####***+*######*++*####*****+++++********#####%%%%##*+=++***##%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%##*++========------====++++====-==========----=============++++*********************######%%%%%@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%%%%%%#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%%%@%%%%%%%%%%%%%%%@%%##%%%@@@@%%%%%%%@%%%%%@@%%%##**######
*******###****************+++++++***#**##%%%####****+++++++********##%%%#**+++++**##%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%##*+++========---------==================================++++*********************###%%%%%%%%%@@@@@@@@@%%%%%%%%%%%%@@@@@@@@@%%%%%%%###%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%@%%%####%%%%%%%%%%%%%%%%%%%%%%%###########
*******#####*************++++++++++****##%%%##*******+++++++*****#######*********###%%%%@@@%%%%@@@@@@@@@@@@@@@@@@@@%%##**++=========----------======+======================+++++********************####%%%%%%%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%@@%%%####%%%%%%@@%%%%%%%%%%%%%%######%%%%##
********####*+++++++**************+++***#%%##*+++++*****++++***#####*+==+++*****###%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%##**++===========------------=======================+++++++***************#######%%%%%%%%%%%@@@@@@@%%%%%%%%%@@@@@%%%%%%%@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%%%%%%%@@@%%%%######%%%%%%
###******###*****************#####*****##%%%##******+*********####%#*+===++**######%%%%%%@@@@@@@@@@@@@@@@@@%%@@@@@@@@%%##**+++===========-------------=============++===++++++++**************########%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%##%%%@@@@@@@%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%##########%####%%%###%%%%%#%%%%%%%%%%%%%%%%%%%@@@%%%##**###%%%###
#####****##########***##****##%#########%%@%%%%%##***+++**##########*++++++*########%%%%%%%%%@@@@@@@@@@@@@@%%@@@@@@@@@%%%#*+++=============---------------====+++++++++++++************#################%%%%%%%%%%@@@@@%%%%%%%%%%%%###%%%%%%%%%%%@@@%%%%%%%#####%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%#######################%%%%##%%%%%%%%%%%%%%%%%%%%@%%%##***#########
#####****##########***###**##%%%%%%%%%%%%@@@%%%%%####****########**++++++**#%%%%####%%%%%%%%%%%@@@@@@@@@@@@%%%@@@@@@@@%%%##**++=============-----------------=====+++++++*******************#############%%%%%%%%%@@@@@%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%#######%%%%%%%%%%@%%%%%@%%%%%%%%%%%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@%%%%%%%%%%%###################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%############
#####****##%%%#####***####*##%%%%%%%%%%%%%@%%########***########*+====++*##%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%@@@@@@@@%%%##**+++============-------------------=======++********++++*******#############%%%%%%%%%@@@@@%%%%%%%%%%####%%%%%%%%%%%%%%%%%%#####***##%%%%%%%%%@@@@%%%%@@@%%%%%%%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%%%%###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########
*######*##%%%%############*##############%%#*+++++++++***#######*+===++*#%%%%%%%%%%%@@%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%##*++++=============------------------------==+++++++++++++++***############%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%###******#%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%@@@%%%@@@@@@%%%@@@%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%######
****#****#%%%%###########**##%%##########%%##**+++++++***######**+==+**##%%%%%%%%%@@@@@%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%##**+++++===========---------------::::::----===========++++***##########%%%%%%%%%%%%@@@@@%%%%%%%%%%%%@@@%%%%%%##%%%###%%%%%#########%%%%@@@%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%####
******+**#%%%%%########****#%%%%%%%%%%#%%%%%%##**********#####**++++*######%%%%%%%@@@@@%%%%@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%##**+++++++========------------------:::::---=========++++***###########%%%%%%%%%%%%@@@%%%%%%%%%%%%%%@@@%%%######%%%##%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%@%%%%%%%%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%@%%%%%%%%%%###%%%%%%%%%%###
++******##%%%%%%%%%%%%%##***#######%%%%%%%%%##********########**++***###***#####%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%%#**+++++++=========-----------------:::::---=======++++***###########%%%%%%%%%%%%%@@%%%%%%%%#%%%%%%%%%%#*****##%%%%%%%%%%%%%%@@@%%%%%%%@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%@@@%%%%%%%%%#####%%%%%%%%%%%
****#####%%%%%%%%%%%%%%%#********###%%%%%%%##**********#######*++*#####****######%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%%%%%#**+++++++++=======------------------:::---======+++++**###########%%%%%%%%%%%%%%%%%%%%######%%%%%%%##******##%%%%%%%%%%%%%%%@@%%%%%%@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@%%%%%%%%%%@@@%%%%%%###%%%%%%%%%%%%@@@@@%%%%@@@%%%%####%#######%%%%%%%%%%
###%%%%%%%%%%%%%%%%%%%%%##*********######%%%###**++++++++**++++++*######%%%######%%%%%%%%%%@%%%%%%%%@@@@@@@@@@@@@%%@@@@@@@@@%%%%%##*++++++++++=======-----------------::----===++++++**###########%%%%%%%%%%%%%%%%%%%########################%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@%%%@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@%%%%@@%%%%%%%%%%%%%%%%###%%@@@@@@%@@@%%%%%%%################%%%@@@
###%%%%%%%%%%%%%%##%%%%%##**************#%%%%%##****+++++**+==++**#####%%%%%%%%%%%%%%%%%%%@@@%%%%%%%@@@@@@@@@@@@@%%@@@@@@@@@%%%%%%##**++++++++++=======---------------------===++++++**##########%%%%%%%%%%%%%%%%%%%%##########*###########%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@%%%%@%%%%%@@%%%%@@@%%%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%###%@@@@@@%%%@@%%%%%%##################%%%%@
#########################***++++********#%%%%%%%%%%%##***#**+++**######%%%%%%%%@@%%%%%%%@@@@@%%%%%%%%@@@@@@@@@@@@@@@%%@@@@@@%%%%%%%##**+++++++++++=========--------------:---===++++**##########%%%%%%%%%%%%%%%%%%%%%########***##%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%@@%%%%%@%%%%%%%%%%%%%%%%%@@@@%%%%%@@%%%###########*###%#######%%%
###******###%%%%#########**++==+++*****##%%%%%%%%%%%%%######**#######%%%%%%%%%%@%%%%%%%%%%%%%%@@%%%%%%%@@@@@@@@@@@@@%%%%@@@@@%%%%%%%%##**+++++++++++==========--------------===++****##########%%%%%%%%%%%%%%%%%%%%%####***#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@@@%%%%@%%%%%%%%%%@@@%%%@@@@@@@%%%%%%%%%@@@%%%%@@%%%%%%%%%%%%%%%%@@%%%%%%%%@@%%###########**###%########%%
##********##%%%%########***+====+++++**##%%%%####%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%%%@@@%%%%%%@@@@@@@@@@@@@@%%%%%%@@%%%%%%%%%###**+++++++++++===================--===++***###########%%%%%%%%%%%%%%%%%%%%%%###***###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%##%%%@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@%%%%%@@@@@%%%%@@@@@@%%@@@@@@@@%%%%%%%%@@@%%%%@@%%%%%%%%%%%%%@@@@%%%%%%%%%%%%##***#####**#####%##########
####********###############**+++++++++**#%%%%%%#####***####%%%%%%%%%%%%@@@@@%@@@@%%%%###%%%%%%@@@%%%%%%@@@@%%%%@@@@@@@%%%%%%%@@@%%%%%%%%%##***++++++++++===================++++***###########%%%%%%%%%%%%%%%%%%%%%%##***###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%%###%%%%@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%@@@@%%%%@@@@@@%%%%%@@@@@@@@%%%%%@%%%%%%%%%%%%%@@@%%%%%%%%%%%%###**#########%%%%%%%%%%%%%%%
%%####*******###############***++++*****##%%%%%####*****##%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%%@@%%%%%%%@@@@%%%%%@@@@@@%%%%%%%%@@%%%%%%%%%%%##***++++++++++=============++++++*****###########%%%%%%%%%%%%%%%%%%%%%%##**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%%%%%%@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%@@%%%%%%%@@@@@%%%%@@@@@@@@@%%%%%%%%%%%%%%%%%%%@@@%%%%@@%%%%%###########%%%%%%%%%%%%%%%%%%%
%%%######***##%%%%%%%######***++++*****##%%%%%%%##%%#####%%%%@%%%%%%@@@@@@@@@@@@@@@@@%%%@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%@@@%%%%%%%%%###***++++++++++==========+++++++*******#########%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%#####%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@%%%%@%%%############%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%##**#%%%%%%########***+++++****###%%%%%%#########%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%###****+++++++++++++++++++++++*********#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%####**##%%%%%%%%%@@@%%%%%%%%@@@%%%%%%%%%@@@@@@@%%%%@%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%@%%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
%%%%%%%%%####%%%%%##*#######**+++++*****###%%%%%##*****###%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@%%%%%%%%%%%###***+++++++++++++++++++**********########%%%%%%%######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####%%@@@@%#********#####%%%@@@@@@@%%%%%@@@@@%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%@@@@@@@@%%%%%%%%%####%%%%%@@%%%%%%%%####%%%%%%%%%##
%%%###%%%#######%%#####%%%####***++++**####%%%%%%#*+++**##%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@@@%%%%%%%%####****++++++++++++++*************#########%##########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####%%@%%%##****#########%%%%%%%%%%%%%%@@@@@@@%%@@@@@@@@@@@%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%@@@@@@@%%%%%%@@%%%%%%%%%%##%%%%%%%%%%%%%%%%#######%%%%%%###
######%%%%##***#%%%%#%%%%%%%%%###*+++**#####%%%@%#*+++++*#%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%@@@@%%%%%%%%%####*****++++++++++**************####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%#########%%###%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%@@@%%%%%%%%%%%@@@%%%%%######%%%%%%%@@@@%@@%%%##%%%%%%%%%%%%%%%%%@@@@%%%%%%%%%########%%%%%%###
####%%%%%%%%%###%%%%%%%%%%%%%%####****#######%%@@%#*+==+*#%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%#####*******+++++*************#####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%########%####%%%@@@%%%%@@@@@@@@@@@@@%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%%%%%###%%@@@@@@@@@%%%@@%%##%%%%%%%%%%%%%%%%%@@@%%%%%%%%###%%%%##%%%%%%%%%%
##%%%%%%%%%%%%%%%%%%%%%%%##%%%################%%@%##*+==*####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%######**********************##############*#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%%%%%%%@@@@%%@@@@@@@@@@@@@@%%@@@@@@%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%@@%%##%%%#####%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%#%%%%%%%%##%%%%##################****##%%@%%#**+++**##%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%#####%%%%%%%%%%%%#########*******************########********#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%@%%%%%@@%%#%%%%####%%%@@%%##%%%%%%%###%%%%%###%%%%%%%%%%%%#
%%%%####%%%%%%%%%%%%%%%##%%%%%%%%%############%%%%%%#***++**#%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%#######%%%%%%%%%%%%%%%############################**************####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%%%@%%%##%%%####%%%%%%###%%%%%%###%%%%%%###%%%%%%%%%%%%%
%%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%#***###%%%%%%%%%%%%##**+**##%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%#########%%%%%%%%%%%%%%%%%%###################*******++++++**###%%%########%%%%%%%%%%%%@@%%%%%#####%%%%%%%%%%%@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%@@@@@@@@@%%%###%%%###%%%%######%%%%%%%##%%%###%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##***###%%%%####%%%%%##########%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%##################%%%%%%%%%%%%%#######**********+++++++++**########%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%@@@@@%%%%%%%%%##%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%######%%%%%%#######%%%@@%%%%%%###%%%%%%%%@@@%%%%%%
%%%%%%%%@@@@@@@%%%%%%%%@@%%%%%%%%###*####%%%######%%%%%%%%%%#####%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%#######################%%######********+++++++++++++**########%%%%%%%%%%%%%%########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@%%%%%%%%######%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%########%%%%%########%%%@@%%%%#####%%%%%%%@@@@@%%%@%
%%%%%%%%@@@@@@@%%%%%%%@@@@%%%%%%%###**##############%%%%%%%%%%%%######%%%%#####%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%#############################***********++++**********#######%%%%###*###%%%%%%%##%%%%%%%%@%%%@%%%%%%%%%@@@%%%%%%%%%%%%%%%%%%%%%@@@@%%%@@@@@@@@@@@@%%%%%%%@@@@%%%%%%%%%%%%########%%%%%%%%%%@@@%%%%@@@@@@@@@@%%#######%%%%%####***##%%%%%%%####%%%%%%%%%%%@@@@@@@@%%
%%%%%%%%%%@@@@@%%%%%%%@@@@@%%%%%%%###################%%@@@@%%%%%%#####%##################%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%#############################*************************######%%%%%##****##%%%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@%%%%%%%%@@%%##############%%%%%%%%%%%%%@@@@@%%%%%#######%%%%%%#########%%%%%%%##%%%%%%%%%%%%@@@@@@@@@%
%%%%%%%%%%%%%%%%@@%%%%%%%@@@@%%%%%%%%%############**#%%@@%%@@@@%%%%%%%%%####************######%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%######################################*******************#####%%%%#*****###%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%%%%%%@@@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###################%%%%%%%%%@@@%%%%%%#######%%%%%%%%%###**#%%%@@%%%%%%%%%%%%%%%%@@@@@@@@@@
%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%#####*********##%%%@@@%%%%%%%%%%%#######*********####**###%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%######################################************+***#####%%%###*****##%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@%%%%%%%%%###############%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%########%%%@@%%%%%%%%%%%%%%%%@@@@@@@@@@
%%%%%%%%%%%%%%%%%%@@@@@@@@%@@%%%%%%@%%%###**********###%%%%%%%%%%%%%%%%%##########*****####****###%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%%###################################***************#####%%%##*****###%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%###################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***##%%%@@@@%%%%%%%%%%%%%%%@@@@@@@@@@@
####%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%##***++++**#####%%%%%%@@@@@%%%%%%%%######****##%%#**+++**#####%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%%%%#############################****************##%%%%##*******####%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@%%%%%@@@@@@@@@@@@@@@@@%%%%%%%%%##%%%%%%%%%%%%############%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%##%%%%%%%####***###%%%@@@@%%%%%%%%%%%%%%@@@@%%%%@@@@@
*###%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%####**+++******###%%%%%@@@@@%%%@@%%%%#####****####**+++++*****#%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%%%%%%%%%%%###############################************###%%%%#******#######%%%%@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%@@@%%%%%%%%%%%%%###%%%%%%%%%%########%%%%%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%#########%%%@@@@%%%##%%%%%%%%%@@@@%%%%@@@@@
######%%%%@@@@@@@@@@@%%%@@@@@@@@@@@%%%%#########*********####%%%@@@@@@%%%%@@@@%%%###**++********++++*****##%%%%%%%%%%@%%%%%%@@@@@@@@@@@%%%%%%%%%%%%%%%%%#############################*********#%%%%##*****###%%%%%%%%%@@@@@@@@@@@@@%%%%%@@@@@@%%%%%%%%%%%%%@@@@@@@@@@@@%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%@@@@@@@%%%%#########%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%#######%%%@@@%%%###%%%%%%%%%%%%%%%%@@@@@@
%%%####%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%#########*******####%%%%%%%@@@%%%%%%%%%%%###******++++***********#####%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%%%%%%%%%%%%##############################******##%%%%#########%%%%%%%%%%%@@@@@@@@@@@@@@%%%@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@%@@@@@@@%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%@@@@@@%%%%%%######%%%%%%%%%%%%@@@@@@@@@@%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@
%%%%######%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%#########****####%%%%%###%%%%@%%%%##%%%%#######**++=++****########**###%%%%%%%%%%%%%%%%%@@@@@@@@@%%%%%%%%%##################################****+*#%%%%##***##%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@%%%%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%@@%%%%%%%%%%@@@@@@@@@%%%%%%%%%%%##%%%%%%@@@%%%%#####%%%%%##%%%%%%%%%%%%%@@@@@@
%%#############%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%######################%%%%@%%%%%%%%%%##%%%#***+++***#####%%%%##****####%%%%%%%@@%%%%%%%%@@@@@@@%%%%%%%%%################################*****#%%%%#*****###%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@%@@@@%%%%%%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%####%%%%%%%%%####%%%%%%###%%%%%%%%%%%@@@@@@@
################%%%%@@@@@@%%%@@@@@@@@@@@@@@@%%###########*****######%%%@@@@@@%%%%%%%%%%##******######%%%%%##******##%%%%%%%@@@@@%%%%%%@@@@@@@%%%%%%%%###############################*****##%%%##******##%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%######%%%%%%%%%@%%%%%%#%%%%@@@@@@@%%%%%###%%%%%%%%%%#####%%%%%%%%###%%%%%%%###%%%%%%%%%%@@@@@@@@