@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################################S
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################################S
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@@@@@@@@@@########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?*+;:::,,,,,,:;+*?S##@@@@@@@@@@@######################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+;:,                     ,:;*?S#@@@@@@######################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+:,                                ,:;*S#@@@@####################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:,                                        ,:+?S#@@##################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                              ,:+?S#@#################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                                                 ,:+%#@@@@@##############################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                                    ,:*S@@@@@@@############################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                                                      :+%@@@@@@@@@@#########################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                       ,:+?#@@@@@@@@@@@@######################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                                       :;*?S#@@@@@@@@@@@@@@####################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                                     ,:+?S##@@@@@@@@@@@@@@@@@@@@###############
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                                                       ,,;?#@@@@@@@@@@@@@@@@@@@@@@@@@@##########
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                                                          ,;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                            ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                                              ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                             ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S                                                              ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                              ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                                                               %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S                                                         ,,:;;+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SS%?*+:                                                        ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%?**+;;::,,                                                             ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@##S%?*+;:::,,            ,,,,                                                      ,:, :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@#%*;:,,,,            ,,::;++++;;:,                                                      ,%@S+*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@##%?*+;:,           ,,::;+*?%SSS%?+;:,,                                                           ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%?+;:,        ,,:;+*??%S##@@@@#S?*+:,,     ,,::,                                                        ,,:+*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
       ,,:+*%S#@@@@@@@@@#%?+:,      ,:;;++++;;+,                                                               ,:;+*?%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  ,:;*%S#@@@@@@@@@#%*;:,    ,:;+*??%??*++**%S#@:                                                                        ,,,:;*%@@@@@@@@@@@@@@@@@@@@@@@
+*%#@@@@@@@@@@#?+:,   ,:*?S###S%%?**?%S#@@@@@@@:                                                                            ,:+S@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@#?;,   ,:*%SS%?***?%S##@@@@@@@@@@@#;                                                                             ,+S@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@S*:,   ,;*??*+;+*?S#@@@@@@@@@@@@@@@@?,                                                                                ,*S@@@@@@@@@@@@@@@@@@@@@
@@@@@#?:    ,:;+++++?%#@@@@@@@@@@@@@@@@@@@%;  ,                                                                                 :?#@@@@@@@@@@@@@@@@@@@
++++;,   ,:;;;;**?%S############SS%%???**;                                                                                       ,+S@@@@@@@@@@@@@@@@@@
       ,,,,,:;;++++++++++++++++;;;:::::,,                                                                                          :?#@@@@@@@@@@@@@@@@
           ,,,,,,,,,,,,,,,,,,,,,,                                                                                                   ,+S@@@@@@@@@@@@@@@
,, ,                                                                                                                                  :?#@@@@@@@@@@@@@
:;*???????*++;::,,,                                                                                                                    ,+S@@@@@@@@@@@@
,:;+*??%%%%SSS%%%%??*+++++++++:,                                                                                                         :?#@@@@@@@@@@
, ,,,,,,:::::;;;;;;++++++++;:,,                                                                                                           ,+S@@@@@@@@@
                                                                                                                                            :*#@@@@@@@
*+;:,                                                                                                           ,                            ,+S@@@@@@