.-=+*******++-                                      .=+*******++=:.                                                                                         
    .-+###*=======*##-.                    .:+***+=:.      +##*======+*##*:  .****+=:.                                                                             
   .+##*-.        +##*.   =*****+-:.      .+##*=+*###+:    =##+       .*##-  .===+*###*=:                    .:.  .==-.                                            
  .=##*.        .=###*     ..-=+*###+=.  .*##=.:-=*####=.  :###-....::=##*.        .-*###:    .--.   -**-   :##+=.-###.                                            
  .###+------:::+####*           .-###*  .*##*####*=:###-   -*##########*:        :=###+:    .+##+  -###:   :*#*-.*##= ..:.     ...                                
   :=+*#############*:          .-*##=.   .-++=-:.   +##+    .:---+###*:       .:+##*=.  :**++###- -###*.  -*++. -###. :#*+.   .+#*=                               
       .......+####*.         .=*##+:            .:-+##*:      .=*##+:.      .-*##*-.    =#######--####*  .*##=  +##+   ...   .*##+.     ...  .                    
            .=####+.        .=*##+:         .-=+*###*+-.     :=###=:       .-*##+:.      +#######+##*###. :###: :###: :**+. ..*##+.     +##*:+*.                   
            -####=.       .-*##+.           :##*+-:.         :=*=.        .-*#+:        .####++####*.*##- =##*  +##+ .*##= :#####+=-:.  :*####*.                   
           :###*:         :*#*:             :##.                            ..          =###=.:+*+-. +**- =*#+ .###- -##*. .-###+*####+:=--==-.                    
          .*##=.           .:.              :##:                                        *##=.             ..=: :###..*##-   +##+  ..:-=###=.                       
           .-:        +*.                   :##:                                        :-:                    .... :+#+.  :##*.    :*##+.   .....:.               
                      +#.                   :##.                                                                      :.  .+##-   .=##*-.:=+*#######.              
                      +#:                   :##.                                                                            .-.   :=*+=*###*+=-+###*.              
                      +#:          .=-      :##.                        .-:                    ..                                    =##*-. .-=*##+.               
      .               +#-          :#+      :#*-.                       +#*::.                 =#-                                   -###**#######:                
     =#:              +#=          -#=      -#*+#=.                   .=###=+**=:              .##:                                   .--===-::###:                
     :#=     .:.      =#+          =#*.    .*#= :**.                  :####. .:=#+.             =#*.                                          .+#*=.               
      =#:   .+#*.     -#*         .*##:    =##=  .+*:                 .+##=.... :*+:.           :##+.         .                                 .:                 
      .**..-*++#:     -#*-:.       =##:    *##=   .+*.                :###*++**#**###+==--:.   :*###*+:  .=**#****:                                ...             
       :#+**: -#=    +###=+*=:.    =##:    +*#=   .=#:                 .+#+++++==--:.:::-==*+==*####+-.  ***#++**##=-::.                        -*+*+*+:           
       .*#+.  .#+    .*##*=-=**.   =##-:::::=#=--=*+:                   =#:                  ::::+#-     *#+#:  .:#*-=+***+=--:...:.            =#:. .#*           
    .+++###*+++##+++++*##*#####===+##=--====+#=--:.                     -#-      ..           .=*#+=---:::++=.   :#+     ..:--=+*##+=-:..       :**=-+*-           
     .:-==*#****#-.    *##-::-::::.=#-      =#:                         :#=     .+**==-::..   .:-==:---===+++*****+.            -#*::-=+**+=-::. .::-:.            
          :#+. :#+     *#-         .:.      +#.                         .#+       :**--=++**+=-:..                              +#.      ..-=*##*+===--.           
           -#= .**.    +#:       .-======--:**                           +*.     :**.      ..:-=+++++=--:..                     **::-==+++++==--::::-===.          
            =#- +#.    +#-       .=#+=-::--+#*+-.                        -#:     .:.   .............:--=+#*-                    .-==-::..                          
            .=#-+#:    =#=       =**####**++#**##+---:::::::::::::-----==+#*+++********+++++++++++++++++==-.                                                       
              =##*.    :#+       :=+****######***=--=======+======-----:::**....                                                                                   
               :-:     .**            ......                              +#.                                                                                      
                                                                          -#-                                                                                      
                                                                          :#=                                                                                      
                                                                          .#*                                                                                      
                                                                           +#-                                                                                     
                                                                           .:.                                                                                     
                                                                                                                                                                   
                                                                                                                                                                   
                                                                                                                                                                   
    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*  +@@@@***+*-@@@@@*****@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**----:-@-----@**-+#+------++####+-- -*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*@%#########%@ @%########################%#--*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-- -#############@ %####################%%%%%%%%%%%**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**#%%-%%@%##############@:####################%%%%%%%%%%%%%%=-*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*---##%%%%%%%######%#########%####################%%%%%%%%%%%%%%#+- +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+--+#####%%%%%%%%%%%%%%%####################%%%%%%%%%%%%%%%%##########= -*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%- =############%%%%%###%%%%##########%%%%%%%%%%%%%%%%%%%%%%%###############+*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-+#################%######%%#######%%%%%%#########%%%########################*--*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=##############################################################################+-:**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -################################# #######+-%#####################################* -@@@@@@@@@@@@@@@@@@@@@--@@@@%+-#@@@@@@@@@@@@@@@@
@@@@@@@@@@@#@@@@@@@@@@@@@@@@@*  -################################ #%%%###=  *%###################################-- +@@@@@@@@@@@@@@@@@@@@++@+++#++@@@@@@@@@@@@@@@@@
@@@@@@@*@@@--@@@@@@@@@@@@@@@   =#########################% #####=+#%%%###= + ###################################### -@@@@@@@@@@@@@@@@@@@@@@@@@@*-@@%--@@@@@@@@@@@@@
@@@@@@#+-#@%#@@@@@@@@@@@@@@+  *#############*-*#########- :#####*++%%%###%  * *##########=+#########################:-@@@@@@@@@@@@@@@@@@@++@@###@@@*+@@@@@@@@@@@@@@
@@@@@@@*-@@@@@@@@@@@@@@@@@*:*##############%  ########*-*@%%+%=-@+ %%%####  @% ##########*- -*######################*@@@@@@@@@@@@@@@@@@@@++#+++++-++#@@@@@@@@@@@@@@
@@@@@@@++@@@@@@@@@@@@@@@*-+*###############+  %%%####+*@@@@@--+@@@ -%%%%###-@@@*-=@%#####-@@*++##**+###############***@@@@@@@@@@@@@@@@####@@@++++##-@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@%###%%%##############*   %%%##+-*@@@@@@@**@@@@##%%%%##@@@@@@+--*%##*+*@@@*--=++##############+++++*%@@@@@@@@@@@@@@*++#@@###+++*@@@@@@@@@@@@@@@
@@@@@@+#@@@@@@@@@@@@@-+#%%%%##############=-  %%%#:-%@@@@@@@@*+@@@@+##%%%##*@@@@@@@@-:*#++*@@@@@@:+################-=*##--**@@@@@@@@@@@@@@@@@++@@@@@++#@@@@@@@@@@@@
@@@@@@##@@@@@@@@@@@@@  @%%%#############%--# +###--##@@@@@@%%*%@@@@@-=%%%%%--#@@@@@@@*:-#**%%#%%%+: -#############**-@**----*@@@@@@@@@@@@@@@@@@#+++%#+#@@@@@@@@@@@@
@@@@@@@%##@@@@@@@@@@@ -%%%#############*  #@ ###-:%%%%%%@@@%#+%@@@@@@+**%### *@@@@%#+%*--*###=------ -+####***+%*#+++@@@@@@@@@@@@@@@@@@@####-+@*---=#@@+@@@@@@@@@@@
@@@@@@@*-+@@@@@@@@@@@ %%%#############*  -*-  -:           *@@###%@@@@@*--++ @@@@%#%*: -*%%#+- ***-+++: *##+++ % #*++-@@@@@@@@@@@@@@@@@@#++*#+++++++#@@*@@@@@@@@@@@
@@@##--+++-@@@@@@@@@@*%%#############-    :-  +@@***@@@@@@@@@@@@@#@@@@@@@%-  %@%%%@@%*@@@@@@@**@@@@@@@@@:-++++##=+#+++@@@@@@@@@@@@@@@@@%+-+@#--+#@@#@@@@@@@@@@@@@@@
@@@%#@@@++@@@@@@@@@@@%%%############ -*--*@@--******@@@@@@@@@@@@@+@@@@@@@@@@*@+#%@@@@@--        -----*@@@@*-+- @@:+-=-@@@@@@@@@@@@@@@@@@@@@%@#++#######+++-*@@@@@@@
@@@@@@@@#--@@@@@@@@@@%%%###########+=@@@@@@            ----*@@@@@*%@@@@@@@@@@+%@@@@@@+                  +@@@@@@@@%= : @@@@@@@@@@@@@@@@@%##-+----##+*#####@@@@@@@@@@
@@@@+-++@@@@@@@@@@@@@-%%##########++@@@@@@:                 -@@@@#+@@@@@@@@@@+@@@@@@@+          ----      --%@@@@@%+  *@@@@@@@@@@@@@@@@%##@@##@-+++%@@@@@@@@@@@@@@@
@@@%--*@**@@@@@@@@@@+ %%%#######=++@@@@@+     ++  ++++       @@@@#+@@@@@@@@@@+@@@@@@@#    @@@@+  #@@@+      -@@@@@@#:++  @@@@@@@@@@@@@@@@@@*-*@@@@@@@@@@@@@@@@@@@@@
@@@%-#@%-+@@@@@@@@@@--@-####%*--*+#@@@@-   -*@% -@@@@@*     @@@@@#+@@@@@@@@@@#@@@@@@@@@  %@@@@@*  -@@@@*:    @@@@@@@#@**- @@@@@@@@@@@@@@@@@%#@#%@@@@@@@@@@@@@@@@@@@
@@@@@#+*@@@@@@@@@@@@@@@:###* -*@@=#@@@*   -@@@+ *@@@@*-    @@@@@@##@@@@@@@@@@#@@@@@@@@@  :----     -@@@@@*-  @@@@@@@%@@@*-@@@@@@@@@@@@@@@@@%##-*@@@@@@@@@++@@@@@@@@
@@@@@##%@@@@@@@#+#@@@@@=### --@@@+#@@@+ - @@@@+  --        @@@@@@##@@@@@@@@@@@@@@@@@@@@  :          @@@@@@@  @@@@@@%%%%*-@@+++++@++=++@@@##=#@@@@#####+@@@-#@@@@@@@
@@@+@@@++##@@@@%#@@@@@@:+- %%%##%+#@@@+  *@@@@+            @@@@@@#+@%%#+###@@*@@@@@@@@@  %     **: -@@@@@@@* @@@@@@+****%@@@%#@#+@@###+#@##=++-=++#####@@@++###%@@%
@#+++--------@@@+++%@@@ .-+#****=+#@@@+ @@@@@@+   :   :@@--@@@@@@+#+%%@@@%+#%#+%@@@@@@@  @*- :@@@+ @@@@@@@@*:@@@@@@:-::@@@@#*@##%@#*#-++@#-=++@@@@@%##@%+--+##+*##=
++-=@@@*+@@%++#%++-#@@@*@@@#@%:*-:#@@@*-@@@@@@* *@%---*** -*@@@@@+%@@@@@@@@@%#++#@@@@%*--:-----*- -@@@@@@@@@@@@@@#==*- @@@@+#@@@@@@@@@@+---+++++++++##@@@###@@####@
@@#%@@@++@@@#++%@@#+--+=---+@@ -%%+%@@@@@@@@@@%-  +****-****@@@@%#@@@@@@@@@@@@@%%#@@@%@@@@@@@@***@@@@@@@@@@@@@%#-%*++* @@@@@@@@@@@@@@@@@@@@%+++%@@@@@@@@@@@@@@++#+%
@@@@@@@%+#@@#@@@@@@@@@+--#@@@@ -+++:+#%@@@@@@@@@@@@@@@@@@@@@@@@@+#@@@@@@@@@@@@@@@@+#%@@@@@@@@@@@@@@@@@@@@@@%#+# -*+++#- *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@ -+++- +%%+##@@@@@@@@@@@@@@@@@@%##+@@@@@**@@@@@@@@@@@%#*%%%%@@@@@@@@@@@@%%@###@@* +++++++*:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@- *++*#- %@@@%#+######%%%%###%#%%@@@@@@@@**@*@@@@@@@@@@@@%%%%############%@@@@@%*+*++++++++- *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@%--=*+++*%+-*@@@@@@@@@@@@@@@@@@@@@@@@@@@@ *@@@-+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-**+++++++++++:-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++**++***- -@@@@@@@@@@@@@@@@@@@@@@@@@@+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@--++++++++++++++-+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@+%%#+++*#*++++#  #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+ -++++++++++++++@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@%-*%%#*++++##*+++*==*@@@@@@@@@@@@@@@@@@@@@@@@@%-****-**---+*--@@@@@@@@@@@@@@@@@@*:--+++++++++++++++@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@-%%%#+++++++***++++*+ -*@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%####*  @@@@@@@@@@@@@@@@*- =+++++++++++++++++@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@ =%%#+++++++++++++++++*=++-*-*@@@@@@@@@@@@@@@@@@@@@-#*****=+**@@@@@@@@@@@@@@@@+ **++++++**++++++++++@ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@ %%%*++++++++++++++++++++++*=+:--*@@@@@@@@@@@@@@@@@@--+*+*@@@@@@@@@@@@@@@@@*--+*+++++*=-#*++++++++++- *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@ %%%%**+++++++++++++++++++++++++++- -**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**-*:-=+++++++##- :+++-==+-*++-*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@#%%%++++++++++++++++++++++++++++++*+----**@@@@@@@@@@@@@@@@@@@@%*---=-*+++++++*:: =- *: +:=-*@+ - %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@%--*@@- --+***+++++++*%=---**+++++++++++-+:---**@@@@@@@@**----+*- +++++++++*%:*-  *@@****@@@@  *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@*--@  @@*+ --##*+++% :***-:-++++++++++++:*@@*----****--*%@@@@@*+++++++++++-+@**@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@+ - %@@@@@*+---=+**: -@@@@**:::------++  @@@@@@@@@@@@@@@@@@  --+++++++****@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%******@@@@@@@@@@*******  @@@@@@@@@@@@@@@@@@  *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-**----+@@@+-*:@@@@@@@@@@@@@@@@@@@@@* :   +**@@@@@@@***@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**---***###*++++*-:*@@@@@@@@@@@@@@@@@@@@@@ -##########+++=--::--***@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-=###################+- +@@@@@@@@@@@@@@@@@@@ ###########+++++===+*#: -*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#  #######################%- +@@@@@@@@@@@@@@@@ =#################++##=-@@@#   +++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* *#########################%*- %@@@@@@@@@@@@@@ =##########%* -#####@- @@@@@@@***------*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +###########################%@* ---**********  %###########@*+####*  *@@@@@@@@@@@@@@@**--:-**%@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ =#############################%+ @@%********  *###############-%@*- @@@@@@@@@@@@@@@@@@@@@@@**+---+*@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ =###############################- @@@@@@@@@%  ##############*#= ***---+*@@@@@@@@@@@@@@@@@@@@@@@@@**----**@@(617399)@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :############+####################+@@@@@@@@- @############*===#- *@@@@%*--:-****@@@@@@@@@@@@@@@@@@@@@@**-*@(617399)@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ : -%#######%*######################-@@@@@@* @@#############==+*#* *@@@@@@@@@****----****@@@@@@@@@@@@@@@@@@@(617399)@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@- +#####@-+=++###################:*@@@@* *%####################* @@@@@@@@@@@@@@@@@@@%**+---*@@@@@@@@@@@@@(617399)@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* *@@@# -*-@++===####################+ @@%- *######################@ @@@@@@@@@@@@@@@@@@@@@@@@@@+------*****%@(617399)@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@@@%%:-==+*######################*%%+*#################**+++*#@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@05/22
    
---++===------=============+++++++++********########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%@@%%%%@%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%@@
----====-----------=--==========+++++*+*******######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%@%%%@@@@%%%%%%%@@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
::-----=---------------==========+++++++*******######%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%@@@@@@@@%@@%%%@@%%%@@%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@
:::--------------------=--========++++++******#######%%%%%%%%%%%%%%%%%%%%%%%%%#**++**#%%%%%%%%%%@@@@@@%@@@@@@%%%%%%@%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@
..::------------------------========++++++******#####%%%%%%%%%%%%%%%%%%%%#*+===----=====*#%%%%%@@@@%%@@@@@@%%%@@@@%%@%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%@@@@@@@@
...::--------=----------------=========++++*******###%%%%%%%%%%%%%%%%%%#+-===---====++====+#%%%%@@@@%@@@@@@@@%@@@@@@@@@@@%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%@@@%@@@@@@@@
....::------===---------------==-========+++****########%%%%%%%%%%%%%%*==+#%%#====+%@@@@#+==#@@%@@@@@@@@@@@@%%@@@@@%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@@%%@@@@@%
..:=-==-----=-===-------------------===++++++****######%%%%%%%%%%%%%%#--+@@@@@*=##*+%@@@@====#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@%%%%%%%#%%%%%%%%%%%@%
.....::---------==-------=--------=======++++*+*######%%%%%%%%%%%%%%%+=--*%%#*=#@%%===**+===+*%%%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@%@%%%%*=-*##***+=+%%%%
........----------====---=----------=======++++**######%%%%%%%%%%%%%%----------=#=+-==++====++#%%@@%%%%@@@%@@%@@@@@@@@@@%%@@@@@@@@@@%%%%%%%%%@@%%#=--------+#%%%%@@
.........-======-----===+==-----------=====++++****##%%%%%%%%%%%%%%%#====+=----------===%@%##%%%%%%@@@@@@@@@@%@@@@@@@@@@%%%%@@@@@%%@@%@@%%%%%%%#+----===--=%@@%%@@%
.........::--=------------========--=======++=+**#*##%%%%%%%%%%%%%%%%**=#@%---=+****+===@@@#@%@@@@@@@@@%%%%%%@%%@@@@@@@@%@@@%%%%%@@%@%@%%%#*+=--------====*%@%%@@@@
.............:--=====------------====+=++====++*****##%%%%%%%%%%%%%%%%==#@%-+%%%%%%%@@%#%@*+*#%@@@@%%%@%%%%%@@%%@@@%@@@%%@@%%@%%%%%#*+++=---------=+++**#%%%@@%%%%%
...............:-----==--------------==++==+++++****#%%%%%%%%%%%%%%%%%=-=*%++======+++*#%%+++#%%%@%@%%%%%%%%@@%@@@@%%%%%%@@%%#*+==-----------=+*#%%%%%%%%@@@%%%@@@@
................:-------------=----------==+***+***####%%%%%%%%%%%%%%%*-----------=========#*%%%%%%%%%%%%@%@@@%@@%%%%%%%#*+=------------=+*#%%%@@@%%@@@@@@@@@@@%@@%
..................:----------------------------==+*##%%%%%%%%%%%%%%%%%=----------=-===+==+#*#%%%%%%%%%%%%%%%%%%%#**==------------====+*#%%@%%%@@%%%%%@@@%%@@@@@%%%%
...................:-------------------------------+==+#++*####%%%%%%%######========++*##***#%#####***#*#%#==#*----------====+++*#%%%%%%@@%@@%@@%@@@@@@@%%%@@%%%%@@
.....................-------------------=====------+*--=+-.:::-===+++*##%#*===--------+==-==------::..::+%=-=#+-------===**%%%%@@%@%@%%%%%@@@%%%@@@%%@@@@%%@@@@@@@@
......................:-----------------===+++++=--+#--=#--::.::-:::-------=-------------------:::....::##=-=@+--===+*#%%%%%%%@@@@%%@@%%@@@@@@@@@@@@@@@@@%%@@%@@@%%
........:..............:-----------------=++++***#*#%=--%=---:::::-:::----------====--------:::.:::.:::-##--+%+==*#%%@%%%@%%%%%%@@@@@@@%@@%%@%%@@%%@@@@%@@@@@%@@@@@
-:.......::.............:---------------==+****####%%#++#+-----:::::-:..:::-----+++=--::::::::.:::....::#@###%%*#%%%%%%@@@@%%%@@@@@@@@@@@@@@@@@@@%%@@@@@%%@@@@@@@@@
---:......:::.............--------------==+****####%%%%%%#*+=-=--:::::::::::..:--------::.....:.....:::++#%###%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@%@
=---:.......:::............:-----------===+***###%%%%%%%%%%##+=------::...::::---------:.::.........::-#%%%%%%%%%%%%%@%@@%@%%@@@@@@@@@@@@@@@@@@@@%%@%@@@@@%%@@@@@%@
*+----:......:::............:---------===+***##%%%%%%%%%%%%%#**=---:----::::::----------.............:=*%%%%%%%%@%%%%@@%@@@%@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@%@@@@@
***=---:......::::...........:---------=++**##%%%%%%%%%%%%%%%%#+---------:::------------:........:...:=#%%%%%%%@%%%%%%@@%@@@%@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@%%@@@@@
****+=---:......:::............---------+*##%%%%%%%%%%%%%%%%%#%*=-::::----::------------:..........:::=#%%%%%%%%@@@%%%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@%@@@
###***+=---:.....::::...........:----==-=*#%%%%%%%%#####%%%%%#%*--:::::-----------------:...........::=%%%%%%%%%%%%%@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@%@@@
%#####**+=---:.....::::..........:--=+++=*#%%%%%%#****##%%%@@@@#=-::::::::-------------:.:::::.::....:+%%%%%%%%%%%%%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@
%%%%####**+=--::...:::--:.........:-=+**##%%%%%#***##%%%@@@@@@@#=-:--::::::-------------::::.::....:::=#%%%%%%%%%%%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@
%%%%%%####***=--::.:::--=-::.......:-=****#%#*****##%@@@@@@@@@@%+---:::::.::------------:.........:::::*#%%%%%%%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@@%%@@@@@
%%%%%@@@%####**+=--::---=+++=-:::::--=+*********##%@@@@@@@@@@@@%*---:::::::-===-------===------:::..:..=#%%%%%@@@@@%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@@@
%%%%%%%%@@%%###**=-------=****++===+++*********##%@@@@@@@@@@@@@%*+**#%%@@%@@@%*-------+%####%%%%%%##*+++#%%@@%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@
%%%%%%%%%%%@@%###**+==---=+***************######%@@@@@@@@@@@@@@@@@@%#%%@%%%%%%*------+#%########%@%%%%%@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@
%%%%%%%%%%%%%%@%%##****+++****###********######%@@@@@@@@@@@@@@@@@@@#####%%%%%@#=--++=#%###########@%@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@
@@%@%%%%%%%%%%%%%%%###*********##############%@@@@@@@@@@@@@@@@@@@@%#%%%%%####%%==#%@%%%%%##########@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%@@@@@@%%@%%%%%%%%%%%####*******#############@@@@@@@@@@@@@@@@@@@@%##%%%%%%##%%%%%%%%%#%%############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@%%@%%%%@@%%##*****###########%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%#%##%%%###%%%%%%%%#########%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@%@@@@@@@@@@@@@@@@%@@@@%%########%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@%%%%%%#######%%%%%%%%##########%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%@%@@@@@@@@@@@@@@%@@@@@@@@@@%%###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%%%%%%%%%##%#######%#%##%###%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%@@%%%%%%%###%%#####%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@%@%%%@@%##%%%#%%%#%%%@%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%%@%%%%@%%#%%%##%%#%%%%@@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%%@@@@@@@%%%%%%%%%%%%@@@%%%%%%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%@@@@@@@@@%@%%%%%%%%@@@@%@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@%%%%%%%%%%@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@%@%%%@@@%%@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%@@@@@@@@@@@@%%%%@@@%%@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%@@@@@@@@@@@@%%%%%@%%%@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@%%%%@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(617399)@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(05/22)
    
##############################*#****+++++++==-----:-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#################################******++++====--:--:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####################################****+++++====---:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
####################################****+*+=++=------::::::::::::::::::::::::--==++==-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
%#######################################**+++====----::::::::::::::::::::-=+***####*****=-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@@%##########*#########################****++++====--::::::::::::::::::-+#***###****++****+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@@@%########**+##########################****++===----::::::::::::::::=**+=-:-*****-...:-***-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@@#******#***#*+###########################**+++==--=-:::::::::::::::-##+.....=*-==+-...:****-:::::::::::::::::::::::::::::::::::::::::::::::::::::::-:::::::::::::
%@@%@%#########***########################*****+===---:::::::::::::::+*##=---+*=:--***+++***++:::::::::::::::::::::::::::::::::::::::::::::::::::::=*#==-===+*+-:::
@@@@@@@@#########*****#######################**++=-----::::::::::::::##########*=**#**+******+-::::::::::::::::::::::::::::::::::::::::::::::::::-*########+-::::::
@@@@@@@@%#******#####***+*##################*#*++===-:::::::::::::::-****+*##########***-.:-=::::::::::::::::::::::::::::::::::::::::::::::::::-+####***##*::::::::
@@@@@@@@@%###*###########********#############*++==--::::::::::::::::==*-.-###*++=+=+***:.:=.-::::::::::::::::::::::::::::::::::::::::::::-=+*########****+::::::::
@@@@@@@@@@@@@###*****############********####***++==--::::::::::::::::**=.:#+-:--::::::=-.=++=::::::::::-::::::::::::::::::::::::::-=+++*#########**+++=-::::::::::
%@@@@@@@@@@@@@%######**##############*****##****+===-:::::::::::::::::*#*=:+*****#*+++=---***-:::::::::::::::::::::::::::::::-=+**###########**=-::::::::::::::::::
%%%@@@@@@@@@@@@@##############*###########**+++*++==---:::::::::::::::=###########*********=+:::::::::::::::::::::::::::-=**############*+==:::::::::::::::::::::::
@%%%@@@@@@@@@@@@@%#############################**+=--:::::::::::::::::*############***+**+===::::::::::::::::::--=+*#############*****=-:::::::::::::::::::::::::::
@@%%%%@@@@@@@@@@@@%################################+**+-+==----::-::-:--==-=**********+--=+=-:------==-=-:-+*==##########****+++=-:::::::::::::::::::::::::::::::::
@@@@%%%@@@@@@@@@@@@@%##############################++##*+#%%%%*+++++++--:=+***########+**#**#######%%%%%+-*#*-+#######***+=::::::::::::::::::::::::::::::::::::::::
@@@@@%%#%@@@@@@@@@@@@%#######################*+**##+-##*-####%%#*%%%#######*####################%%%%%%%%=-*#*:*##***+=-::::::::::::::::::::::::::::::::::::::::::::
%@@@@@@%##%@@@@@@@@@@@@####################***+====-:*##:*####%%%#*#############****#########%%%%%%%%%%#--##+-***=-::::::::::::::::::::::::::::::::::::::::::::::::
##%@@@@@%##%@@@@@@@@@@@@%#################*++++=---::-++-+#####%%%#%##%%%%######++**###%##%%%%%%%%%@%%%#=:-==--==::::::::::::::::::::::::::::::::::::::::::::::::::
###%@@@@@%###%@@@@@@@@@@@%################*+++==--:::::::-=+*######%%%#%%%%%%%##########%%%%%%%%%%%%%%#++=-----::::::::::::::::::::::::::::::::::::::::::::::::::::
*####%@@@@@%###%@@@@@@@@@@%###############*+==---::::::::::--+*######%%%%%%%%%##########%%%%%%%%%@%%%%*=-:::::--:::::::::::::::::::::::::::::::::::::::::::::::::::
=+####%@@@@@%###%@@@@@@@@@@@#############**+=-::::::::::::::-==*########################%%%%@@%%%@%%%%+=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
==+*####%@@@@%####%@@@@@@@@@@############*+==-::::::::::::::::-=*#*#######%#############%%%%@@%%%%%%%%+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
====+*####%@@@@%###%@@@@@@@@@@%#########*+--:::::::::::::::::-:=*#########%%#############%%%%%%%%@%%%%+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
--====+#####%@@%%###%@@@@@@@@@@%#########=-::::::::--===-------=*#####%#################%%%%%%%%%@%%%%+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
--=---==+#####%@%%###%%@@@@@@@@@%####***#+-:::::--======-=-::::-*###%%%%################%####%%%%%%%%#=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::----===+*####%%%###**#%@@@@@@@%##*+===-:::---===------::::::-+#####%%%###################%%%%%%%%##+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::----==+*####%####+++*%@@@@@@%#*+====-:======---::::.::::::+####%%##%##############%%%%@%%%%@%%#%#=-::::::::::::::::::::::::::::::::::::::::::--::::::::::::::
::::::::-----==+########+===+*#####*+============--:::::::::::::=####%%#####***#######****#####%%%%%%%%+-::::::::::::::::::::::::::::::::::::::::::::::::::::-:::::
:::::::::::----==+*#####*+=======================-::::::::::::::====---::::::-+#######*---------:---=+++-:::::::::::::::::::::::::::::::::::::::::::::::::::::-::::
:::::::::::::----===++***+================-------::::::::::::::::::----:------=######*=----------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:::
:::::::::::::::----===========---========-------:::::::::::::::::::----------:-*##***=------------:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::----=========----------------:::::::::::::::::::-------------**=:::--------------::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::-----=======--------------::::::::::::::::::::--------------:-------------------::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::::::
:::::::::::::::::::::::---=====-------------:::::::::::::::::::::------------------------------------:::::::::::::::::::::::::::::::::::::::::::::::::::::::.:::.::
::::::::::::::::::::::::::----------:::::::..::::::::::::::::::::-------------------------------------::::::::::::::::::::::::::::::::::::::::::::::::.::::::::::::
:::::::::::::::::::::::::::::-----:..:::::::::::::::::::::::::::---------------------------------------::::::::::::::::::::::::::::::::::::::::::::::::::.:::::::.:
::::::::::::::::::::::::::::::::..::::::::::::::::::::::::::::::-::-----------------------------------:::::::::::::::::::::::::::::::::::::::::::::::::::.:::::.::.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-::-:----------------------------------.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:-----------------------:-------------.:::::::::::::::::::::::::::::::::::::::::::::::.:::...:::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:---::::::-------------:::-----------:-:.:::::::::::::::::::::::::::::::::::..::::::::::.:....::..:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:--::-::::::----------::::--:----------::::::.:::::::::::::::.::::::::::::::::::::....:.:..........
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:--::-::::::-----------::::::::--------::::::::::::::::::::::::::::::::::.:.::::::::..:...::...:...
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::--:::::::::-------::--::::::::-----::::::::::::::::::::::::::::::::::::.:..::::::......:..:....:.:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-::-:::::::::::------:---:::::::::----::::::::::::::::.:::::::::::::.:::::.:..::.......::............
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-::-::::::::::::---------:::::::::::---:-::.:::::::::::::.::.:::..::....:::::.......::.:......::.....
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:::::::..:.:------::---:::::::::::-::::-:.:....:.::..:.:..:::..:::::::......:..:..................
:::::::::::::::::::::::::::.:.:::::::.::::::..:::::.:::::::::-::::::::::..:::------:::::......::::::-::::::....:.:::......:::....:.:..:.......:..........:.........
:::::::::::::::::::::::.:::.::..:..::::::::::::....:::.::::::-::::::.::...::::------::::.......::::---::::.::...:.::::.:::.....:::::......::.....::................
::::::::::::...::.::..::..:.::.::::..::...:.:..:.....::::::::-::::::::....::.:-----:::-::.......::::-:::::..:....:.::::::..........::...:...::....::...............
::::::::::::.:..::::::::::...:::....:::.....:::.::::::::::::::::::...:....::..:----:---::......:::::-::..:...:.:....:..::.....:.:.......:..:.......:...............
::::::.:::..::.........::..:::...::.:::::::....::.:::::::...:::::::::.....::..:-----:---::::...::::::::.........:.:::......:.......................................
:...:::....:.::...:....:..........::.........:.:..:::...:.::::-::::::.....:::.::---:::--.........:::......::.......::.......:..........:...........................
:..::........::......:::::.:.......:....::.......:..:..::....:::..........:...:::-:..:..................:...:.........:::............................(617399)......
.:..:.....:....................::.:::.....:......:.....::..............................:..::.:.......:..::.........:.......:.......................................
:::.........:..:::.............................:......::.......:........::..::..::........:...........:.......:....................................................
::.::.::.........:::.....................:.:.........:...:.......:....:............................................................................................
......::..............:..................................................................................................:..................................(05/22)
    
@@@%=====#@@@@@@@@@@@@@@@@@@@@@@@@@*==========+%@@@*============*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*=========+#*+==--------------::::::-===++#%@@@@@@@@@@@@@@@@
@@@*====*@@@@@@@@@@@@@@@@@@@@@@@@@@#+=========*@@@#===+#*===+*+====++#%@@@@@@@@@@@@@@@@@@@@@@@@%%%%###==========:...=++*%%%%%%%%@@@@@@@@@@@@@@@@@@%%%#::---+%@@@@@@
@@#+===*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%****#@@@@%+==+%@@===*@@@#+======+*%@@@@@@@@@@@@@@@@%=:.....::===========-=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%##*=-=*%@@@
*+=======++**%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@%===+*+====**+============+++++++++++++++++-=-==========++=====+*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%#+@
=================+*#@@%##@@@@@@@@%#**###%@#*===*@%+========================+++++++++=-=+****++=========+#%%%###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%@%%%%%%%:.
============================+++==========+======+========+*%@#+===+*****##@@@@@@%*+=:.+%%%%%%%%########%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%@@@@@@+
=================================+*#+====*++======+#%%%@@@@@@@@@@@@@@@@@%*+=--.    -+#%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@
==============================+==========*@%+====%@@@@@@@@@@@@@@@@@@@%=:  :   .:=*#%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@
=========+###+++========*###%@@@%#####*==========+@@@@@@@@@@@@@@@#*=:     :*%%%@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
======*#@@@@@@@@@#*++====#@@@@@@@@@@@@@+==========%@@@@@@@@@@@@*.    .-+*%@@@@@@@@@@@%%%###%@%%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
=+#%@@@@@@@@@@@#+=========%@@@@@@@@@@@@%==========%%%%###+++++++--=+#@@@@@@@@@@@%#*++======*@@@@@@@@@@@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@%++=++====*@@@@@@@@@@@@@@%#========================*@@@@@@@@@@@%*=========+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@#===+@@@@@@@@@@@@@@@@@#========================+*++*#%@@@@@*========+%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#####%@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@+===*@@@@@@@@@@@@@@%%%%@%*++*==*%%%*::::*####%@@@@@@@@@@@@@@*=======+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%######%@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@+===*@@@@@@@@@@@@@+=====#@@@@@@@@@@+.- .=%%%%%%%%%%%%%%%%%%%%*+======#%@@@@@@@@@@##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%######%@@@@@@@@@
@@@@@@@@@@@@@@%##*====+++*#%%%@@@@@@=====+@@@@@@@@@@+.=:#%%%%%%%%%%%%%%@@@@@@@@%+=====*%@@@@@@@@@@####%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@
@@@@@@@@@@@@@@%================+#%@*====*@@@@@@@@@@-.. +@@@@@@@@@@@@@@@@@@@@@@@#=====+%@@@@@@@@@@@%######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########%@@@@@@
@@@@@@@@@@@@@@@+=====+*===========*+=====++++++****- .*@@@@@@@@@@@@@@@@@@@@@@@@+====+%@@@@@@@@@@@@@@@######%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###%%####%@@@@@
@@@@@@@@@@@@@@@@%%%%@@@*=================++++++====  -%@@@@@@@@@@@@@@@@@@@@@@@%+===+%@@@@@@@@@@@@@@@@########%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###@@@%##@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@#+===============#@@@@@@@@* .-@@@@@@@@@@@@@@@@@@@@@@@@%*==*@@@@@@@@@@@@@@@@@@####%######%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@%@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@*================@@@@@@@*  .*@@@@@@@@@@@@@@@@@@@@@%%###*+@@@@@@@@@@@@@@@@@@%####@@@#######%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@+================@@@@@@@.  .@@@@@@@@@@@@@@@@@@@%########*#@@@@@@@@@@@@@@@@@%####@@@@@%#######%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###%@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%%*====@@@@@@+   :+%@@@@@@@@@@@@@@@%#*####@#####@@@@@@@@@@@@@@@@@%####@@@@#+=-==+######%%%%%@@*#%@@@@@@@@@@@@@@@@@@####@@@@@@@@@
##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#**#@@@@@% . .:%@@@@%+*%@@@@@@@**####%@@@=####@@@@@%%+%@@@@@@@####%@@@@---#%#%#+*##################%@@@@@@@@@@@@@*##@@@@@@@@@
#*+*###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*  .:=@@@@@####%@@@@*+*####@@@@@*+####@@@#####%@@@@@@####%@@@@*#%=::-=-+##@%%#+++****########%#########%*###@@@@@@@@
@@%%###+*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*  :=%@@@@@####*%@@**###*=-*@@@@@-+####@@#####*%@@@@@####%@@@@@@:=****+*********#****%%%%###################%@@@@@@@
@@@@@@@#+++**#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+   @@@@@@@%####=+*###*+==*%@@@@@@:*####@#######@@@@@####@@@@@@#***#%@@@#*+--++#@@@@@%%%%%########%%%%%####%@@@@@%*#
@@@@@@@@@@@%*++##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@*  :*@@@@@@%##########****+*+%@@@@*.+############@@@%####@@@%##*+=@@@@@@@@@@%==*#@@@@@%###########%%%%%%%%%#*%%%%%%@
@@@@@@@@@@@@@@%%%#****##*****#**#%@@@@@@@@@@@@@*  :@@@@@@@#=######+***#%%@%%*+#@@@*.+############%@#####@@%-*+#%@@@@@@@@@@@@%*+**=+@%=##########%%%%%%%%%%@%#**#@@%
@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@#+*@@@@@@@@@@@@@*  :@@@@@@@#%@%%##+-*+*%@@@@@@#=#%@@*.+#######@#########%@@#*=#@@@@@@@@@@@@@@*@#%#*++%.-####%%%++%%%%%%%##%@%++#@%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%++#@@@@@@@@@@@@%  :+@@@@@@@@@@@%%+**+%@@@@@@@@%=*#%%+-#######@@########@@@#=*%@@@@@@%@@@@@@@%%@%%#***+:+###%@@%#%%%%%%%%#****%%#+++
@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@%%*+%@@@@@@@@@@@+ .=*%@#@@@@@@@%%#***@@@@@@@@+@@***#%*#######@@@+######@@@+*+@@@@@@@#*@*%%%%@%@@@#%##*%+%%%@%%%%%%%%@@@%@@@%+=-+%%#
@@@@@@#=**@@@@@@@@@@@@@@@@@@@@@@@@#++%@@#=##%@@@@. -#-@%@@@%%%%%##*#*@@@@@@%%%#@%***@@#######@@@#=#####@@*=*#@@@@@@@#*@#@@@@@@@%%%%%%*@@%%%%%@@@@@@@@@@@@@@%=*%%@@@
@@@@@@#+#%++%@@@@@@@@@@@@@@@@@@@@@#:*+*%%+#%#+=@@*-.-=%@@@@%%%%%###%*@@@@@@@@@*@@#%*+@%######@@@@+*####@@:-*#@@@@@@@%*@@@@@@@@@@@@@%%%%%%%####@@@@@@@@@@@@@@@@@%%@@
@@@@@@@++###+#**=*@@@@@@@@@@@@@@@@#:-++++:*###=*%%%%*+#@@@@@%%%%%%%%%@@@@**@@@*@@@##*#%######@@@%%**##%@@=+%%@@@@@@@@*#@@@@@@@@@@@@%%%%@@@%####@@@@@@@@@@@@@@@@%%%@
@@@@@@@@*+########*+@@@@@@@@@@@@@@%:--+*#-.+##=##@@%%%%%%%%%%%%%%*%%%%%@@**%%%#@@@@*#**####*%@@%%%%#%@@@%+=%%@@@@@@@@@=@@@@@@@@@@@@@#*+%@@@%####%@@@@@@@@@@@@@@%%%@
*****+=++:=#######%%+@@@@@@@@@@@@@%-#=%@@-:.+*+=***=:#@@@@@@@@@@@#%%#@@@@#*@@@@@@@@@*%#*=+=-#@@@%%%@@@@@#*=*#@@@@@@@@@=@@@@@@@@@@@@@#=*@@@@@@%####@@@@@@@@@@@@@%%%@
+++++++*##########=#@@@@@@@##@@@@@#-##=@%+@####-#+*#*@@@@@@@@@@@@%*@*@@@@%*@@@@@@@@@#@#*-+--#@@@%%@@@@@@@#=*+=#@@@@@@@**@@@@@@@@@@@@@+@@@@@@@@@*=##@@@@@@@@@@@@%%%#
#################*=###***+=**==*++-+##*=:+#####+:#=- .*@@@@@@@@@%%#%%%%@@@#+@@@@@@@@@*#*+=@%@@@@%%@@@@@@@%+**#@@@@@@@@#%%@@@@@@@@@@@%=*@@@@@@@@@%###@@@@@@@@@@@@%+=
#################*.+####################*###%##%%%##-:-@@@@@@@@@%%%%%%%@@@@+@@@@@@@@@%***:@@@@@@%%@@@@@@@@@:+*#%@@@%%%%*%%@@@%%%@@@@#=#@@@@@@@@@@####%@@@@@@@@@#-=%
############################################*+++*%%%%%%%%%@@@@@@%%%%%%@@@@@**@@@@@@@@@-**#@@%@@@%@@@@@@@@@@#.***%@@*@@@%%*@@@@%%%@@@%+#@@@@@@@@%%@%%%%@@@@@%@@@##@@
###################################***+===++--++*#*%%%%%%%%%%@@@@@%%=#@@@@@**@@@@@@@@@+=**@%%%%%@@@@@@@@@@@@#:**%@@*@@@@@#@@@@@@%%%%%%%%@@@@%%%%%%%%%%%%%%@%#%@@@@@
##################################+==-**#%*=*#@@%%%*%%%%%%%%%@@@@@@#=+%%%%%%+#@@@@@@@%-=***#%%%%@@@@@@@@@@@@@@#*#**=**@@@@@%%%%**@@==%@@@@@@@@@@@@@%-##@@@@%%%%@@@@
###################***+*########=*+=#@@@#-=#%@@@@%%%%%*#@@@@@@@@@@@@%-*###@@@@@@@@@@+-==+++#%%%%%%%%@@@@@@@@@@@##--=.  :-:       #==*@@@@@@@@@@@@@@@@+#%@@@@@@@%%%%
#################*+@@@@@*=+######=###%#:.-+%@@%####%@* =@@@@@@@@@@@@@%+****@@@@@%#+-::.:%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%-..:---:.::=@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@
##*##*++#########-%@@@@@@@%######+=%##*#+-====#%%@@@@- =@@@@@@@@@@@@@@--+**#%**-...:-+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+=++##+++@@@@@@@@@@@@@@@@@@@@##%@@@@@@@@@@
@@@@@@@@##=*#####*+@@@@@@@@@@#=###*+####*=##%@@@@@@#- .%@@@@@@@@@@@@@@- =-=++: .::=--=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#=++++-=%@@@#%@@@@@@@@@@@@@@@@@@%#%@@@@@@@@@@
@@@@@@@@@@@@%##*++*@@@@@@#==*%#=######+#=*%@@@@@@@#.  =@@@@@@@@@@@@@@@= :=+*%%#@#--#@*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@##@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@%=*#+=*######*=:#@@@@@@@@.= :#@@@@@@@@@@@@@@@% -%@@@@@@@%@@@*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%%%%@@@@@@@@@@@@@@%##@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@#=+##########-#@@@@@@@--:.@@@@@@@@@@@@@@@@@@-:#@@@@@@@@+%%*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*@@@@@@@@@@@@@@@@@@@@###@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@%@#-#########%+@@@@@%:+* *@@@@@@@@@@@@@@@@@@+:#@@@@@@@@@#%@@@@@@@@@@@@@@@@@@@@@@@@@@%##########%@@@@@@@@*@@@@@@@@@@@@@@@@@@@@@*#%@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@#+=+-*+*#########@-@@@@@* @-.@@@@@@@@@@@@@@@@@@@+.+@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@%#%%#*%%@@%%###@@@@@@@@@@@@@@@@@@@@@@@@@@--*#%@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@%-*#*-*#%########@-@@@@@* + =@@@@@@@@@@@@@@@@@@@#.:.=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@@@#*#@@@@@@@@@@@@@@@@@@@@@@#::=--%@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@%=##+-+########%*#@@@@@*  .%@@@@@@@@@@@@@@@@@@@@+%#=:.-#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*@@@@@@@@@@*#@@@@@@@@@@@@@@@@@@@#=.:-==-%@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@+*#-+#*#######*@@@@@@*  :@@@@@@@@@@@@@@@@@@@@--%%%%%+:.-*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@%@@@@@@@@@@@@@@@@@%*-.--=*#*-*@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@%**++#=**=+*@@@@@@@@*  +@@@@@@@@@@@@@@@@@@@* :%%%%%%#..-: .:=+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+::-=+-=####++@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++=*%%@@@@@@@@@* .#@@@@@@@@@@@@@@@@@@@+  %%%%%%# :=@@**==:-+***###*####%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#=::-+%%*--=+++++*+@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* .#@@@@@@@@@@@@@@@@@@@*  :-*#*=- .%@@@@@@@#+===---=====-::----==+++***#%%@@@@@@@@@@@%#+=-:+*+++*%+=-*%#*=+%%#@@@@*=
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* .#@@@@@@@@@@@@@@@@@@@%+    .-. =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%**==---:::::-----:.::=#+-=+==-+-=*++=*##*++#*##*=+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* .#@@@@@@@@@@%*==+@@@@%*  ====*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#=:-**#++#@@*=*###*+=*%*=++--=.+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@- .*@@@@@@@@@@@@@@*=@@%*.  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:+%##%%+=*####%%%#++=**--* -
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@- :-%@@@++##%@@@@@@#-=--:  *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=@@@@+#@@@@@@@@@@@%##-==.:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*  :-*:. .-.:::+%@@@*--=-. .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=:.-=+*@@@@@@==*#@@@@@@@@@@@@@%+--.:=*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%  :...  *@@=---:.-==-:     :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.+@@@@%+=*++%*::.*@@@@@@@@@@@%+:::-=+++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    .=+#@@@@@@*-=--. ::.:=-*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=:@@@@@@@@@@@@@@#+=+@@@@@@@@@@+.-=+++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#**=@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%.=@@@@@@@@@@@@@@@=+++:@@@@@*+=-=++++++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@--@@@@@@@@@@@@@@@%=:++-.++-=+++++++++++++++
(eyes:snake)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@#*.=++=-=+++++++++++++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* +@@@@@@@@@@@@@@@#=:+++++(617399)++++++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* =@@@@@@@@@@@@%#=:-+++++++++++++++++(05/22)
    
..............................=#==++=-===++---****+******************************************************************#=........................
............................=*+=-=-+*****--=---===+********************************************************+--********+**+-....................
..........................:*+.--:-*****=+*--==+*************************************************************--=***+++=:...-*=..................
.........................:#--:..---****+#:-=*******************#***************************:+************+=#----:...........=*:................
.........................#*****+-:-=+++%*--*******+-*+*********%*********+++++++++++==+++=-:-+=*==-::......*-:-:.............:#=...............
........................=#*=--******+--#++***+++*++=++-++++===-#--===--:::::::::::::...........:##:........-=::-.........::----*-..............
.......................=%*=---*********%=-**********=%+*******+#=:=+*++=-:::-------------------=*:=#-+**+==-+----==++++********=%..............
......................:%*=----+********%+-=******-=*:###********@+********+********************%+::-#+********-=-**************+*=.............
......................%**-------+***+-**#=-*****+-+=#-.-##**##**@%##***************************@@@@@@@%****%:#=-=***************+%.............
.....................-%=*=--++++==******%=******=-*@@@@@@%@@%%@@@@@@%*************************+#-=+*#@@@@@@#:-#:-+***************#-............
.....................++=*=-=********+**=+@**##%#-+%-.......+****#=.+%*++********************-+%.......:+@%%#%@@*-=*****##******+*+#............
.....................++=*+=********+-+++%*@#%%+-:%:.........:##**%..=#+-=******************+-*:.........+#*...+#-=@#*-:%==***+%-=+%-...........
.....................=*++-++*******=-#%%+-@:**==*=.......:::::+#*%=..:#*-=*****************--...........-%-...-%+-+%@#:@=-***#=*+-+%...........
......................%*=-=-=******---@...@-****@.....=*=----=+##*%=-..+#=-+**************--..-+++.......:..:=.@==-*#==%+-***#.:%+*%:..........
......................+*--==-+****+-+-#...%*****%...........:----##%:...-%+-=+**********+-+..=-...:---====-..-*@-+-+*.%%+-+*%...=%*#...........
.......................#--=*--+***=-**+...:%*+*##:.-=++**#%@@@@@@@#@#.....*#+==+******+=-#=..=%%@@@@@@@@@@@@%+.*%#-=***+#+**-....###...........
.......................*=-=*=--+**+-*#+....*#+=@+#@@@@@@@@@@@@@@+*:-@+.....-##+=-+***=-+#-...*@@+-#@@@@@@@@@#@###*-=*%::%***.....*@=...........
.......................#=-+*+---***-=%*..:+=#--@@@@@@@@%@@@@%@@@#...:%-......=##*+=-++*#:....-@@#-*@@@@@%@@@*.:+%=-**+..%*#=.....+@............
.....................::#=-+*--=-=**=--*+....:%@@#+#@%:.=@@@#:+@@@....:-........-*#*+-#+.......+@@@@@@@@%*%@@#..=+-**%...@*#......==............
....................#=-%--=*+--*-=**-=+=*=...*@@#--@@%%@@@@@%%@@@................:=*+%+:......-@#=+%@@+-*%@#:..=-=*#+...@%-....................
...................++.:@=-=+-=-=+-=*+-+*++*+::@=*@-=@@%=+**=..=@#...................:+*%#=.....#@+:..:*@#-..:-.+++*%....%-.....................
...................*=.-%*---=-+-=+-=*+-=***-+*%-.-=+@@###***#@@@%%%%%*..................=+=.....=@@@@@@%##%%#*-%+*%-...........................
...................=*.+*=---**##+=---=++-=**+-***++=-+*+-:----::.................................--::.........:%*#@:...........................
....................%*#+----+***%#===---=--=+**-+*-...........................................................+*#:%:...........................
...................:++---=++*#****#*==++=-----***+*#=........................................................-@*..=*...........................
..................-------#%#*#-=**#+=+*##%#+====****##+................................@.....................::....%:..........................
...............-=-----=+**-+#=-=##+--=-=*##+-==+***##==+++=:...........................::..........................*=..........................
.............:#+-+*+-:+...=%---+*-=--=--*#-=:.........:-=++#%*+..................................................:++...........................
..............:...........%+---%-=-=----+##=--....................................=*=..........................:+*.............................
.........................=%=--+#*=-+-=*-=**#+=*=...............................-**:%-........................=*+...............................
.........................+#=--=*+*-++-*=-+-=*=--*=.............................=#:+*......................-*+:.................................
.........................-#=-+-+=*-+*-=*=-=-+*=-:+#+=:..........................:-:....................-**-....................................
..........................#*---***=-*-=**+---**+----:-=++++=-:.....................................:=*%+#=.....................................
........................-*+%*--=+**-==-*+=*=--**=--++.......:-===+====++++=-::..............::-=++##=+#*%=.....................................
....................:=+*--*+-=*=--**---*+-***--=*#--*#...................@=+++++++++++*%%##**@=+*****%**##.............................(617399)
................-=+*++++#-+--=-*+***---**-=***=-=**+--+=.................+*++++++++++++++++**==*******#**#=.............................(05/22) 
    
                                                           @@                                                                                  
                                                    ---: :*@@   -*+@*%----====*--                                                              
                                              ..:=+*===* %-=*=-++--++++++------++*#*-                                                          
                                         :-**+---------- @-----------------------::.:.-:                                                       
                                    :..====------------- @:-----------------::::::::::::*:                                    -                
                                =+++-::::::---------------------------------::::::::::::+##+:                                 +                
                             :***:---::::::::::::::------------------::::::::::::::--------+%*:                                                
                           :*%+----------:::::--::::--------:::::::::::::::::::::-------------+-                              #                
                           #+---------------:-----::------:::::---------:----------------------+#+-                           :                
                          **-----------------------------+---------------------------------------+***                   --    -#               
                          @%+----------------------------@------*@---------------------------------=**                  ## --+:+-              
      :  -+:             *@%+---------------------=*----+#-:::--*@#-:------------------------------=*@-                 :: :: *= .=:           
     -+#- -:            @@=------------*+--------#%@-----++:::--:@*@@=--------*+---------------------+@-                ++  -+   =+            
      =#               **=------------:@=:------*-.=:=+#.+@:::---@+ -*--------=*%+--------------------+                 ++-++++#++-            
      ==          .::=*=-------------+*@:::---+-:....+@...#=:::----..:*#-:----#-:+-+-=+=-------------++-             .===:  ==+::#             
                  .---:::-------------@@:::-=#=......:#....--:::--.....:=#-.-++....-#*+=------------+++=+*:            --   + -++:             
     #=           +#::::------------+@-@---*@+.......=@....+--::::=......:*@++++.....%#=-------------#*--+@*+               -     +*           
      .           +@.::------------*%--*--+# :.....:--:....:##::--##.....:-=*+=--*===+*%%=----------+++:-----              =::*##==.:.         
      =##         +:::------------+@-:-%=*@%%%%%%***-.--:.....+*+-*.....+--*@+---:@%**@%%@#=--++# @++++:               -##*+--+++=- #-         
    -+*+--        =::-----------=#@@@@@@@=-***------    :-......+@@....- :**:   :**-     .-@*-++++**-++=               :++ -##*--+             
  .=-: ++.        .::-----------%-##=  #------           =........=-:=-     +#######+++++:  -+++#  *+**-               :: . ==-:::::===+-      
       -#=        .::----------+-     @@@@@@@@@@%***-    =:........++.     @@@@@@@@@@@@@@@@*:      .*%@+               --#+###+-+=----         
    *++           =::--------=*+    -@@@@@@@@@@@@@@@@-   -+........++      @@@@@@@@@***%@@@@@*+     :#@*               --  -:#*++:             
   =*:.++         %.=:----++*+-   :#@@@*-+@=---#%@@@@-   -+........=+      -#@+    =@*-  =#@@@@#     =+-+@#               -+.                  
    :-:-            @---:%#:.+    *@@*   @     -*@@@-    -+.........+       +@*----%@@@:    +@@@     :.-=.#                 =#        --       
    -+=      :-     *--+@%...+    @**    @@--*%@@@@@     -:.........:       +@@@@@@@@@@+      @@     ....=+ +--+ :-=-:    ++--     :  -#-      
  :=  ==:.   :=:    %+**-::::+    @@-    @@@@@@@@@@@     -+.::----.-+       +@-@@@@#+%@=      #@     ===++   =-:=-:==== ==*==+=+====   +=:::  .
 -++*######=  ++=   @@#+ ===*+    @      @@%@@@@- %-     +--::..:+-:--      +@ -%@*  +@       **     @+%    =-:-- -=-*+--#*+-    :-: =##+-=+--*
++#+  =+  -+-:+++-  -  :-.%=**:   *      %- -**---@--    +:.......::-+-    -+*%****+*@*            -**=%    +         +*##++++++++-:  --- :--- 
  :   =+:  ==.  :+++*##+: @#-=+-.        =#*----=----   --............:-:  -       --           :+#++++#-                 .==:            :=-=.
       -           -*#    @#+++@+--:                    +-..............-=:                  :---@@-+++=@@                                     
                          @#++++%..-=-:.            :----.....*...........-+---::::::::::-:.-:. -#*+++++:@*                                    
                         #%-++=-*#:...:------::::-:::......--...*-.............::::::::::..... #=+++++++++*#:                                  
                       .+=++++++=-%#:......................=#...--............................#%++++++++++++#                                  
                      -::=++=-++++-@#.......................................................:*#++++++++++++:@                                  
                    -+=::=++++=-=++++*+:.....................-=---=--++=-#................+##*+++++++++++++ @                                  
                   -#:::++++++++++++++=%*+- ....................= :-====*%.............. %**+++++++++++++++ @                                  
                   @=::+++++++++++++++++==**@#=.................+*+==++-.............. +#+++++++==+++++++++ @                                  
                   @:::-=++++++++++++++++++++=**#+=-.............--:-:...........--==+#++++++=#%#+++++++++*#=                                  
                   -=::-+++++++++++++++++++++++++=+%%#*:....................:=+=###++++++#%*=#*@*##%*:@*%+.                                    
                    :#=::=%#*=+++++++++==+++==+++++++++#*+-=...........==+***@*+++++++=-**@@%--***-  -@%-                                      
                      +#-+@:-++#*=-+++++@*+*+#*++++++++++%+-++*++--.+*+=-:..-*+++++++++#+-+-:        :+:                                       
                       :*%@:    :-**#++=*@*   ::#%######++@+................@*#++++++=---                                                      
                                     ------         ------@+................@-                                                                 
                                            +#+#***+--+#+#..................:#%@%*--.::::.--+---                                               
                                        -==#==:--------:+#*=..................@+---------*****#%#=**-                                          
                                      -#+------------------+@*:..............=%----------====+**+-#%=:---                                      
                                    +@*=--------------------:-*#:............@*---------.**---=-=@-....-+++#++++-:                             
                                    @.------------------------.-@*#========-*@:-----------+----+@-.....   .....==+*%*--                        
                                    @--------------------------:+@  --------@=-------------#+.=@+..................  --#**+-                   
                                    @----------------------------*+        +%------------==-%+--++++--............. ......--++*++:             
                                    @@+---------+-------------------      *@------------+**+=@-     -+****#===:................ -:             
                                    @-*#.-----:==------------------@*    -@*.------------+==-.@-           -----=#===..........                
                                    @ .=+*+=+:+***=-----------------@=  -#-:------------------+@                   :-++*+---:....              
                                   @+ ...:*%*+***=------------------=- **---------------------+@                         ---+****-             
                                   @+......=@***---------------------------------------=++**+-+@(617399)(05/22)
    
.                                                       .:::::::.                                                                                     .%@@@@@@@@@:.
                                                    .-=+*********++==--:.                                                                             .#%%%@@@@@@@@
                                                .--=***+++++++++++*******.                                                              .==.          .....*%@@@@@@
====:.                                        :+*+=-:.::--====++**+===-:.             .:-====---======..                    :**:        .**=              ...=*@@#*
@@@@#=  ........                              +**+==+*+===---::..    ..:+++=...-++++++++**+=====++****+++=:....         :--=+**+++++.  =+***++======:       ...=+++
@@@@@*   .:***=.                       -:    .:-:.:::.       ........-*%@@@@#**%@@@@+=++++++++++++++++***#*+**:....    -*+=-:**=...    ..=**.::::---.           .@@
@@@@@%     :=*=:   ::-:                -:   .-:         .....+#######%@@@#+++**++++=**+++++++++++++*##+--=++#@%***=          -**         -**                    .@@
-------   .-:                                -:.    ....:=%%%%@@@@%*====++++++++++++==@@@%#****#%%@@@@@%%%+-::::::.          -**         -**                    .@@
@@@@@@@    ..:.    . .                       :%=:::::+*****+++*#.-++++++++++++++++++++=+##-:..........#%%%%#=:..             -**         -**                    .@@
@@@@%##:  =-:                           .=-: .%+++++**++++*%@@@#.=+++=++++++==+++++++++++=#*-:.      .......=*:.             -**          **:                   .@@
###*+===  -*%%+                              =@@@%######*-.*@@@#:+++-=@@@%=----+%@@@@@+++++*@@+-.                       .....-**          **:                   .@@
   .-+++  ..--.  @-                    :-=   =++=..       .*@@@#:++=+#@@@@@%::.+@@**@@@@@@@@@@@@-                  .....++++****+++++     **:                   .@@
           .::    :.        +:          ..                .*@@@@++=+@%+*@@@%::+%@%::@@@%*=======*+:          .=*#*=..........-**..... -+++******++              .@@
            :-         .    ::              -*  ...     .-#@@@@@%+++@*.=@@@%::-#@@##@@@#-:::::::#%-...     ...--=-:..........-**..    .:::+*=..............*#####@@
 .....           .               ..    ::    :  .........+@@@+-=#+++%*:+@@@%:::+@@@@@@@#-::::::::+#*-:.......................-**..........=*=  ..+#%%%%%%%%@@@@@@@@
 .=#=:..         ..          ..                 .........+@@%+++==+=:=#@@@@%.::=%%%%%##+-::::::-=%@@%%:......................-*+..........=*=. ...-*@@@@@@@@%%%%%@@
 ..:=*=--.                   .=          :. .+-. ......:=#@+.---++++++=*@@@%::::::::::::::-+##+==*@@*=....................................:==.    ..-*#@@@@+=====@@
   ...=*@%  ..     :.  .                 -:     .......=###+----=+#########*-====----------+@@@@%#####:........................................     ...*#@@@@%#####
     ...=*-                                     .......-==+%@@@@@%========+*%@@@@@@@@@@@@@@@#**+:............................       ................  ...+*@@#=:...
 .-*******.          ..                         . ....:+####*#@@@%+===++==++##+=====+*@%*++=...:=+:        ........................  .-:..............   ..-===..  
..*@@@@@@%=        .+++:                           .+*##**###+---:...-*+...-##*=....#%@@%######%@#:        .......................:::+*=..............   ......    
%%@@@@@@+-*                                ..::     :#####@*-......=%@@@%%%%####%#::@@@@@@@@@@@%+:.          ......     ..........===***++=-..........  ...##=...  
@@+.........         .:.          .:            .-:  --=-*@@@@@@@@%=:.:+@#...=####@@@@@@@@%%@%-:...                       ...........**:::--........    .%@@@@%-...
@@*:..                                              ..:+#=...::::::::=###+:::+#######*+*#+++-=%@@#:                           .......**:.................%@@@@@@@@@
@@@@:.                                              .*@=    .+##++*############*++**#::::++=+*###%+-....                            .**:.................%@@@@@@@@@
+*%@=.        .        ..                    -..:::::*@=    .*%#==+*#*++#*=====-::::-:::-+++++#*###*+***+=-.                     .===**..................+*@@@@#+++
:.                                    ::--==+********#@=    .*@%=====-.-#+::::::::::::::=++++##+*##*********=-.                  .-=+**=--:................=++=:...
===-:   .:.                  ...:--=+**********++==*%+-:    .*@#.......-#+:::::::::::::-+++++##**###*+++*******+=---------------:::. -**==-.....         ..........
... ..                  .:-+***********+=---::.   .*@=    ...#@#      .-#+::::::::::::=+++++*##**####=...:--+***********************++**:......            ......*#
::::::-:::+##+      :-=******+====-:-:            .*@=    .*@@@#      .-#+:::::::::::-+++++######*#####%:    .::-=++**********************=-...            .......:
%%%%%%%%@@@@@*  .:+******+=-.       .:            .=#=    .*@@@#      .-*+---::::::-=+++++#+#%#########%:             ..  .===----::-+*******-.              ......
--======%@@@@#-=+****+=:.                        :=. .    .*@@@#       ..-##+-::::::+++++##=@@########..--..                          :-+******=:.                 
@%*.  :-+###******+=.                            +@=.     .*@--=      .:==+=.:::::::=++++##*@@@%#######=+*+=:.                         ...=*******-   hello.. oh...             
.    .-=******+=-.                     .-        :*-.   ...*@:::      .-#+..::::::::=+++####@@@@%#######*+++++:.                          .:+******:               
    .+****=-:.                                 .:      ..-%@@-::      .-#+.:::::::::=++*####@@==%%###########@-.                            :******+       ...     
   .*****=                            .                 :-@@@=::      .-#+::::::::::=+*#####-:.:#@#############%-.                           -******       .-.     
   =****:.   =      .-:.                    .:.        .. .@%-::.     .-#+.:::::::-=++####@%:....-############%@=.                           .****+-      ::-::::  
   ****=                                         ..    =@+.#-::::     .:+=.:::::--=+++####@%:.   ..-%@*######*#@=.                         .=****+.        .-.     
   ****=.:.                                 .-+%%:.    =@*.*=::::      ...::::-=+++++*####@%:.     :+*+######*#@*+-                      .-****+-          .-.seeyU
   +***+                .             ..    .*@#+.. .-+%@+.*%::::     ..::::::=++++++#*+##@%:.     ...%@#####*#@@@%=:..                :=*****-.           .-.     
   =****. .:       .                  ::   .:*%=.....*@#=:.*@=:::.::::::::::::+++++*###-##%%:.       .-+%#####@@#+++++-...          .-*****+:.          ....-.     
   :+****=.        =.                       =@@%****#@@=  .*@-::::::::::::::::++++*#########:.        ..#@%#*=%@=. .:=+*-.        :=****+=:             ...:-:::.  
     -+****=:.      -.           .:  ...     *@+-%%*=#%=  .*@:::::::::::::::--+++++#########:.         ..=#@=.*%-.   .+@=.      :+****=:                   :-.     
       .=****+:              :.  .-          .#=..:*@=..  .*@:::::::::::::::=++++++*########:.           :+%=.....   .....    .=****+:                     ..      
         :=****=.            ..             ..*@%:.+#-    .**:::::::::::::-=++++++++*#####%%:.           .....              .=****+:                 .::goodbye bye     
           -+****=:               =:        ..:+*=-...    .*-:::::::::::.:++++++++++++#####%:.                            :+****+:        .::        .:-:::.       
             :+****+=-:           -:          ..:%@=.     .*=::::::::::-=+++++++++++++*#####:.                          :=****+-.       ...-:....  .::.-...        
               :=+*****+=:::.      .            .-=:.     .*%-:::::---=+=+++++++++++++###+##*+.                     .:-+****+.         :::.-:...       ::          
                  .:-+*****+-:. -.                        .*@+-===+++++++++++++++++++#######%%:..                .-=*******@*...           -.          :: bye         
                      :-=*******+=-:.                     .*#+++++++++++++++++++++++++#+######**-          .:-=++*****+=-.=@@#+.       ..::::::::      ::   .      
                          :-=+********+=-.              ..:#+++++++++++++++++++++*++++#########%-    .:-=+********+=:..:::+@@@#.g   o... :-      ....:-::::.     
                  ::  ::       .:-=+******+=-:.         .=%##***+++++***++++++*#################=--=+*******+===--:  .+@@@@@@@#.           .-.     .....-..        
                  *@- -@*.           .:=+*******+=---:::-+#################**#############************+=-:.  .#@@@#--=#@@@@@@@#.            :.        617399       
                  *@@- :%@-      .        :-=+*********************************************************.     .#@@@@@@@@@@@@@@@@+:.                                 
                  -=#@*..=*:     =             .:-===+*************************************************+.  .-*@@@@@@@@@@@@%+++#@%*-.......:==....==:...=+++++++++++
           .........=@@@+.                           -**************************************************=  .:=%@@@@@@@@@@@@###%@@@%##*****%@@####@@%**#@@+=======@@
        ....=#%%%%%%@@@@#=.                           +**************************************************=.  .::------#@@@@@@@@@@@@@@---=@@@@@@@@@@@@@@@@%%#%%%%#--
        *%%%@@@@@@@@@@@@*:                           +****************************************************+:         ..:::::::=%@@@@@%#..:+@@@@@@@@@@@@@@=--=#@+-..
:::...  #@*:::*@@@@@@@@@+.                           .-=+***************************************************-                ...-%@@@@@@@@@@@@@@@@@=::-@@@@@@@@@@@@
@@@@*-..=#@@@@@@@@@@@#=...                               .=**************************************************=.                ...*@@@@@@@@@@@@###%@@@@@@@@%###+=--
****%@#+==%@@@@@@@%#=...                                   .**************************************************+.                 .-+****#@@@@@@+++*%@@@#***....=*@@
+++++++++++*%@@@@@+...                                      :=*************************************************+:.                ......-@@@@@@*++*@@@@:....  ...@@
====:.....=*%@@@@@+:....                                       :=+************************************************+.                   ..=*@@@@...:#@@@:.       .==
###*-.....*@@@@@@@@%##+.                                          :+***********************************************=:.                    -%@@@...:#@@@-...     ...
::::+#####@@@@@@@@@@@@*.                                            .+************************************************:                   -%@@%###%%@@@@%:.   ..:#%
   .......+%@@@@@@@@@@*.                                              -***********************************************:.                  -%%:......-%@@@-:::::*%@@
          ..+@*:..+#%@*.                                               :+*********************************************=.               ..:+%%-------+@@@@@@@@@#:.:-
           .+@*.  ..=@%+:.                                              .=*********************************************:               .:@@@@#******#@@@@@@@@#+=+@@
           .+@*.....=@@@*:                                                :+********************************************:          ..  .:@@@@*+..   .=+@@@@@@@@@@@@
           .+@@#####%@@@*:                                                  -+*******************************************:       .=#*....-+@@@@..     .-----(05/22)
    
.  :*****-                         =**********+:.  =************=-..                                 .-=*********+-=+**##############%%%%%%%%%%%*=:                
   =****=.                         -+*********=   -***+-=***+=+****++-:.                      .::::---**********%@@@%%%%*********++=======++++++*@@@@@%%###+:      
  -+***=.                           ..::====-..  :+**+: .***= ..-+******+=:.               :*%@@@@@%%***********#***-:::::::::::::::::::::::::::::-+++*####%@%+:   
=+*******++==::.                             ::  :***+=+****=++************+++++++++++++++++#*#**********++*****+=-::::::::::::::::::::::::::::::::.. .:==***#%@%+.
*****************+=-..:--...  ...:-==---:.-=***=.:+************************+++++++++*#*+====++*********+-:::---::::::::::::::::::::::::::::::::::::..      .-=-=*@@
****************************+++**********+******+********+=:.-****+=====--..   .:=+*%@*::::::::--------::::::::::::::::::::::::::::::::::::::::...        ..:::::=#
*********************************+=-+****=++******+-:::.                :=+*##@@@@@#+-:::::::::::::::::::::::::::::::::::::::::::::::::::......          ..:::::::.
******************************+**********=.:+****:.                  :*%@@%@@@@@*=-::::::::::::::::::::::::::::::::::::::::::::::::::.....             ...:::::::::
*********+---+++********=---:. .:-----=**********+:              -=*%@@@@@@#*=-:::::::::::::::::::::::::::::::::::::::::::::......                  ....:::::::::::
******=-.      ..-=++****-.           .+**********:            =@@@@@@%*=::::::::::::::----:::::::::::::::::::::::::::.......                   ....:::::::::::::::
*+-:.          -+*********:            :**********::::---+++++++##*+-:::::::::::--=++******+:::::::::::::::::::::::...                     ......::::::::::::::::::
:.             :++*++****=.            .:-***************************++==-:::::=**********=::::::::::::::::::::::::::::....................::::::::::::::::::::::::
                 ...-***+                .-*******************************+=-=-+*********+-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
                  .+***=.            .:::: :=++=**=:::=%%%%#+-:::---=+*****************+::::::::::::::::::::-**====+#*=::::::::::::::::::::::::::::::::::::::::::::
                 .+***=.           .+*****-     ..  .+@#@@#=..........::-----=+++******-::::::::::+*+-:::::::=***#######*+++=-:::::::::::::::::::::::::::::::::::::
              :--=****+++=-:::.    .*****+:         +@*@@+:.::::::::::::::::::::+*****=:::::::::::+%@#=:::::::.=**############=::::::::::::::::::..-=:::.::::::::::
              :****************+-:.=****=.        .#@@@*:::::::::::::::::::::::-*****+::::::::::::::+@@%+-:::::==-::=#*-=**####*+=+-:::::::::::::..+#*=+*+=-..:::::
               +*****+=***********=+*****++++++====#@@=::::::::::::::::::::::::+****+::::::::::::::::*%@@#=:::::::::-#= ..:**:..-=++++=-::::::::::..##-::-=*+.:::::
               .::::.  =*****************++++++****@@#::::::=-::::-===:::::::::+***+::::::::::::::::..##=@@#=--::::::#-    .+*-.:::::-==+=--:::::::.*#-::::.. :::::
                       .-+***************-    ....=@@#.:::::##=##+*###*-::::::-***=:::::::::::::::::::+#..=@@*+#+-. :#*..   .:*=::::::::::.:::::::::=#-::::::::::::
                        .=****************       =@@@=:::::-###**=---:=-..:---%@#+.:::::::::::::::::::-#=  .=%@**#*-:#*..    .:-+:.::::::::::::::::::*=::::::::::::
                        .+****************      .@@@@....-=*##-   ...  .=+%#=-=@@#-:::::::::..::::::::-#=    .-+%@#####=-:  ::.:**=::::::::::::::::::-#+:::::::::::
                             .: .::::=****      +@@@%+*==##=-.       :+#%@#-..-@@#-::::::::=+=::::::::-#-    -+*##@@@@%%#######*+##*--:::::::.:-::::::+#:::::::::::
--:.                                 .-==-     :@@@@%: =#+-#+-....:-*##@@=.    @@#-::::::.=#++*:::::::*#.    ###-:-:=#%#%@@@@@@@@%%%##*-::::::###=:.. .#+.:::::::::
-=+=---:.                                      -@@@%#+-#+.-@@==######%@@#:     =@%=:::::::**:=#=..::::*-.    =-:*%%###*=-::=+####%%%*-::.:::::#*==+*+-:=#*.::::::..
 .:----+=:..                                   -@@%####*. :@@##*###%@@%###=.    #@#::::::=#+ =@# ::::++:.      %@%--=*%%@@*+=---====:::::=-:..#=::::+***##=..::.:-+
      .-+++==-.                               .+@@@ +#*:..:*@@###%@@##%%%*-.    .@@+:::::*#. =@#.::::+=:.    .*@@-    .-=*%%@@=.. ..:::::-+*- #+::::::::-=#=  .:++-
        ...:=++--::..     ......              .=@@%=--::::::%@%%@@@@@%%%%%@%=.   =@%:...:##  .@@-::::=:.   :+%@%*.        .-#%@%-  ...:::::=#*#+::::::::::=#-:=+=:.
             .:::-====--=====-==-:             -@@%:::::::-*+#@%*#@@-    :+%@%+:  =@%:  +#-   -@%:::::.   :@@#-:..:.        +##%@%+.:#*=::::-+#+::::::::::.:-=+-..:
                   ..:--:..   .-+=.            -@@%::::::-*::::::*@@-      -*%@@=..=@%: *#=   :#@+:-+-.   =@@+    ..       :#####%@*:@@%*-::::#*-::::::--:.:++-.:::
                               :++-.           :@@%+:::::#+::::::+@@-       =####+::+@%.:##    +@@:*#-    #@%:     +-------*######@@*+%@%#=...:=::---========::-+++
      .-.                      .:-=+:           +@@*+:.=##=::::::*@@#-      +#*#+@%-:+#+-##    .%@##+.   .@@#.     #*##############@@#-*@@#*++=--==--:::.. :+*#+::-
      -*==.                       -++-. -*--:.   @@#-*.###::::::-%@##+=:-:==*#*+**@%: +#+##     -@@%+.   =@@-.     -*#################..:#@@@::::::.:::::.=**=::   
      -+-:++:.....                -%=+=::+-:-+*..+@@#**##=::::::%@#*-   +*****+=#**@@.:*#*#=   ..*%@+.   %@#-.     -*#######*++*######.::::*@@=::::::::::.=#+ .::. 
       ++---+-==*+.               -@#++++%=---*=+=*@@%%##-:::::=@@##:   :**##=-=####@@:=###+  .:::*#+.   @@##=:. .=#*##@@@#+    :=+*#@#.. ..+@@:.:::::::::-*#: ::: 
        =+--------=+.             -%##+=-#@+--*--:-#@@%#*:::-::#@%#+.    *+**==+#+--*@@=####- .:::--:    @@####*=*##*%@@@@##-..   .-#@@:   .:%@*:::::::::::-#* ::: 
=====+*++%*-------::+             -#-*:  #%@+=+*===*@@%#=:::-::*@%#+.    *#*+*#*=.  .*@@#*##-  .:::.     @@####***+**#@@@@@#+-.     :+*.    .:%@#:::::::::::=#.::: 
+++++++=----------*-.......--.....-#--*.:*.----#-+=-@@*+-::::::=@@#=.  .=++####*:   .-*@@+##-  .::..     *@%###+:.=*###%%%#*#*:             ...+@%=:::::::::-#=:::-
-----------------=*---===+*==**=++#+--=*%+-----+@-*#@@+-:::::::-@@#+*****--#@@%#      -%@*.:.  .::      ..#@%- .:..=#####--*##-     -#+      .. -@@-::::::::-**::+*
-----------------=@+--------------------=---:--=##@-*%%+::::::::-%@%####----*%@@:     -#@@ ... .::        .@@#=:-.::-****=-*##-    :#@*  .    ...:@@=:--::::::=##*:
--------------------------------------------=+++**+---#*-::::::::.=@@###=-----=#:.    +%@*.::...::         -@@#*-++++=*####*##*    -@@*. .    .:::+@@*=-==--..:--. 
-----------------------------------===+***++##++=-+===%#=:::::::::.+@%####*---=#*-.   +%@*.::::::.         .-%@%*-:.   :==*=+=.    .+++==-:...=+==-@@#=..-=+=-.    
----------------------------------+**#==-:=*=-..:::-==+#+::::::::---#@++++--=####+. .:#%@#=-::::......        =@@%%%****++++**++*..*@=::::::::...  :@@#-:::-=+=-:::
-------------------===+=--------*=+*-. .-%*-:. ..::---+*=::::::::.:.=*=----:*####+ .+#*#%*+-::::::::..         .*%#*@@@@@@@@@@@@@-**=          ...  .@@*:::::::-===
-----------------=+:  ..=*+------*---:-%@#+: .:----::=@%=::::::::::::-%#+=-..=++*=+#%@@%-...........             ...::#@@%###%@@%*                   .%@::::::::...
--=--=++---------#:       :------+*:--=-+#****-::.   #@%:::::::::::::-%@@@@%+++#@@@%#+:                                :=+*++--++=                   .-@*::::::::::
       .--*=-----=+       ...-*---=+----=*--:..    -*@@#=:::::::::::::*@*###%@@@%#*#*+.       .:-----:              .:+*++++#*:      .......        ...=#+:::::::::
           .:--=++=      -**=--*------+-*=:.      -@@@*##:::::::::::::*@%*+=::-.-#%@-.    :+**+#######+*#%%%#=    -*#**--*#*-:::::::=*+.            .. .*#-::::::::
               ...       :*=-+*=------=*%-       .@*@@#*::::::::::::::*@#:.    .:-*#=     .=##--#*:*#-..:=###*-.  -*##*+==##+=*#####*##*=-..        .. .:#=::::::::
                          .-*+----------#-      .#*%@#*=.:::::::::::::*@%-    ...*###=-:    *# .=#*#+    .+##:    .##+....##- :**:-=*######*==.     ..  :*+::+*::::
                          .:.-#----------+     :%+=@@-*:::::::::::::::=@@-     .. ..-+*-    *#: .=##*:    =#+.     ##-  .:*#- -#+    .--..+####=    ..   *@*=-:::::
                       -+*+#=+=--------- #     -@ #@+-=:::::::::::::::=@@+.                 *#*:.:*#=.     ..-..   -= =   :*#.=#:          *@@*:.      .#@#*:::::::
                       :#=-=#=-:-------- #     -@+@#:*-:::::::::::::::*@@%@*-..             =#######**=-.  :###+.     :**=:+###*:         =%@@-      .-%%*##:::::::
                        :*--+#*--------:=-     -@@@+.=::::::::::::::::%@#:-*%@#-  ..         .:--+++++###*+=####+.    .*##= :--:.--+++=--=*+=:.    .-*@%#**#-::::::
                         .+=-#+-=-------=.     -@@%.::::::::::::::::::@@#:::::+%@#=-.            ......:=*####*##***+==*###****##**+-::.   ....  :=#@##*=-=#=::::::
                          .:=+++-*==*+=:       -@@*.::::::::::::::::::%@%::::::-@@#%@@%*+:.             ...:--==-+++++++*##%@@+:..     ... ...:+%%#*+#*----+*++*-::
                            .-++++*=::         -@@-:::::::::::::::::::*@@::::::-@%* .-=**%#+===---=----:.               :+=--.           .-*%%#+::=##*+++++=**=*--:
                                               -@@*::::::::::::..:::::+@@%#=-=*#@@:       -+***###*****#%%####**+++===-::     ...  .:-+*#@+=+++=:+*#=:-=*+::+#=-*#*
                                               -@@#::::::::::.-:...:::+@@@@@@#@@*.                         ....::==**###%%%%%#####%@%%*-+#*+**#+#*=++*=--=++-**##*+
                                               =@@#..:-:::::::=***=:::+@@@****=.                                            :::::::-*%#==-++-. =*=---=+*=:=*++##*@+
                                               *@@#: ##+=::::::::+#:::*@@@.                                                          :+%+:=+--+*=------:=++*==##-@#
                                               *@%#+ %#+*+++-:::::=#*##%@@=                                                            .=##-:*+-------:::::*=-#**@%
                                               =@@%#=%@@@*@%%%*=-:.=##*#@@@-                                                :*%@#*+=..   .#%=*::-----::::::=###@%*=
                                               :@@%@@@@@= .*#*#%@#**#%@@@@@%                                              .-@+:::--+#*##*#%%@#-::::::::::-+%%%%*+++
                                                @@@@@*+-     .=#*##@@%%@%*#=                                             .*%=:::::::::::-%#+*%+::::::::-*@#*+++++++
                                                -==*.           .:::.                                           soulrot :@*::::::::::::--*%+++@-:::=*###*++++++++++
                                                                                                                        ##::::::::::::----*%++#@**%*+++++++++++++++
                                                                                                                       -@%::::::::::::----=@*++*#*+++++++++++++++++
                                                                                                                       -@*:::::::::-------*%(617399)+++++++++++++++
                                                                                                                       -@*:::::::::----=*%#+++++++++++++++++(05/22)
    
COPJESUS2 so-good