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