@#####SSSSSS%%%%%%%%%%%SSS#######################SS%%?*+++;;::,,                                                                                      
@@######SSSSS%%%%%%%%%%%SSS######################SS%%?**++;;::,,                                                                                      
@@@#######SSSSSS%%%%%%%%SSS######################SS%%??*++;:::,                                                                                       
@@@@@#######SSSSSSSSSSSSSSS######################SSS%%?**+;:,,,                                                                                       
@@@@@@@@@@@######SSSSSSSSSS#####@@###############SSS%%?**+;:,,                                                                                        
@SS%???%S##@#S?**?SSSSSSSS#####@@@@@@@@#@@@@#####SSS%%?*++;::,                                                                                        
@@@@#S%?*:,::    :SS%%%%SS######@@@@@@@@@@@@@####SSS%%?**+;::,,                                                                                       
@@@@@@@@S;       ::,   ,,,;%###@@@@@@@@@@@@@@####SSS%%?**+;::,,                                                                                       
@@@@@@@*                   :##@@@@@@@@@@@@@@@@####SS%%?**+;;:,                                                                                        
@@@@@@@S**?%:              ,*S@@@@@@@@@@@@@@@@####SS%%??*+;;:,                                                                                        
@@@@@@@@@@@#,                ;#@@@@@@@@@@@@@@@####SS%%??**+;::,                                                                                       
@@@@@@@@@@@%                ,;S@@@@@@@@@@@@@@@####SS%%??**+;;:,                                                                                       
@@@@@@@@@@@#:               :S@@@@@@@@@@@@@@@@####SS%%??**++;:,,,,                                                                                   ,
@@@@@@@@@@@@?                ,*S#@@@@@@@@@@@@@####SS%%??**++;;:::,,                                                                                 ,,
@@@@@@@@@@@@S                   :+S@@@@@@@@@@@###SSS%%??**++;;;;;::,,                                                                              ,::
@@@@@@@@@@@@*                     ,*#@@@@@@@@@###SSS%%??**++++++;;::,                                                                             ,::;
@@@@@@@@@@@?,                       ,;?#@@@@@@###SSS%%??***++++++;;::,                                                                           ,,:;+
@@@@@@@@@#+                            ,;S@@@@###SSS%%??***+++++++;;;:,,                                                                        ,,:;+*
@@@@@@@@%:                               ?@@@@###SSS%%???****++++++++;;:,,                                                                    ,,::;++*
@@@@@@@*,                               ?@@@@####SSS%%?????*****+++++++;;::,,                                                                 ,::;++*?
@@@@@@;                                ,S@#######SSS%%%%%????*****+++++++;;::,,                                                              ,,:;++*??
@@@@@;                ,,               ,S#########SSS%%%%%%?????********+++++;::,                                                            ,:;;+*??%
@@@@%                 +;    ,,          %###@#####SSSSS%%%%%%???????????*****++;:,,                                                         ,,:;++*?%%
@@@@%                ,?:;,              +##########SSSSSS%%%%%%%%%%%%%%%????***++;:,                                                        ,,:;+**?%%
@@@@?               ,?%;?:              ,%############SSSSSS%%%%%%%%%%%%%%%%???**+;:,,                                                      ,::;++*??%
@@@@+         ,     *%%??,               ;#############SSSSSSSSSSSSSSSSSSSS%%%%??**+;:,                                                     ,::;++**??
@@@@;:,     ;,::,  +%%%?,                 *##############SSSSSSSSSSSSSSSSSSSSSS%%??*+;::,                                                   ,::;+++**?
@@@@?, ,,,;*S*++   ;%%?:                   ?@#@@@@@########SSSSS##############SSS%%?**+;:,                                                  ,::;;+++**
@@@@@%*?S%S#SS;  ,, ??:                    ,%@@@@@@@@###########################SSS%?**+;::,                                                ,:::;;++**
@@@@@@#####S#*  :%%?*,                      ,S@@@@@@@@@@################@#@@#####SSS%??*++;:,,,                                             ,,,::;;++*
@@@@@#######SS; +%%*,                        :#@@@@@@@@@@@@##########@@@@@@@@@####SS%%?**+;;::,,,,                                            ,,::;;++
@@@@@#########%:*%+                           ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**+;;::,,,, ,,,                                        ,,:;;++
@@@@@@#####SSSSS?:                             +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%%?***+;;:::,,,,,,,                                         ,:;;+
@@@@@@@####SSSS*,                               ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%??**++;;::::,,,,,, ,                                       ,:;;
@@@@@@@######S;                                 ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%%??**++;;;::,,,,,,,,                                        ,;;
@@@@@@@@####?:                                   :%@@@@@@@@@@@@@@@@@@@@@@@@@@####SSSS%%%??**+++;;;:::,,,,,,                                        ,:;
@@@@@@@@@@#+                                      :#@@@@@@@@@@@@@@@@@@@@@@@@####SSS%%%%%%??**+++;;:::::::,,                                        ,;+
@@@@@@@@@S:                                        *@@@@@@@@@@@@@@@@@@@@@@@####SS%%%???????**+++;;;::::::                                           :+
@@@@@@@@%:                                         +@@@@@@@@@@@@@@@@@@@@@@###SSS%%????*????**+++;;;::::::,                                          ,*
@@@@@@@@;                                          :@@@@@@@@@@@@@@########SSSS%%%??**********++;;;:::::::,                                          ,*
@@@@@@@#,                                          ,#@@@@@@@@@@@#######SSSS%%%???*****+++++++++;;;::::::,                                        ,,:;*
@@@@@@@#*??++***;                               ;**%@@@@@@@@@@######SSSSS%%%???****+++++++++++;;;;:::::,,,,                               ,::;;;;+****
@@@@@@@@@@@@@@@@@+,,,:,,,            ,,:::,,,,:?@@@@@@@@@@@@######SSSSS%%%%???***+++++++;;;;;;;;;;:::::,,,,,,        ,,,      ,:;;::,,,,:+**********??
@@@@@@@@@@@@@@@@@@######+    ,;+:   ,?########@@@@@@@@@@@@@#####SSSS%%%%%%???**+++++;;;;;;;;;;;;;;::::::,,,,,   ,    :**+    ,?SSSSSS%%%%???**********
@@@@@@@@@@@@@@@@@@@@@@@@;   ,%@@%   ,#@@@@@@@@@@@@@@@@@@@@#####SSS%%%%%?????***++;;;;;;;;;;;;;;;;::::::::,,,,,,,,    ;*??;    ?####SSSSS%%%?????******