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