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