@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################################SSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################################SSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################SSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################################SSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################################SSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################################SSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?+;:,,,,,,,,:::;;+**?%S##@@@@@@@@@@@@@@@@@@#@##########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*;:,                       ,,:;+*%S#@@@@@@@@@@@@@@@#########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,                                  :?#@@@@@@@@@@@@@@@@########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                     ,:*S@@@@@@@@@@@@@@@@@@######################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:,                                          ,;?#@@@@@@@@@@@@@@@@@@####################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                                              ,+S@@@@@@@@@@@@@@@@@@@@@#################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                                                 ,;?#@@@@@@@@@@@@@@@@@@@@@@@##############################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                                   :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                                                 ,;*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                                                  ,:;*?***%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                                          ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                           :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                            ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######
###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                            :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                                            ,+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                               ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S                                                                :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                              ,,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                          ,+?%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                                        ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                                        ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                                        ,*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
S%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                       ,;%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%SS%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                       ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SSS%%%%%%SS##@@@@@@@@@@@###S%%?**+;,                                                         :+?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
++?SSS%%?%%??????????****+++;;;;::,,                                                             ,:;++***????%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   +**++,*%%????????***++;;::,,,                                                                              :+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   ,;;;:,,++;;;;;;;;:::,,    ,,,,,,                                                                         ,:*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    :;;;;,,::::,,,,   ,,,:::::,,,                                                                            ,:*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
,    ,:::, ,, ,,,:::;;;;::,,     ,:;,                                                                           ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:,       ,,,:::;;;;;:,,     ,:;+*??*,                                                                             :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%?;     ,,,,,,,,       ,,:;+****+;;:                                                                               ,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
,,,               ,,::;;++++++++;:,                                                                                  ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  ,,,,:,     ,:::::,:;;;;;;:::,,  ,:                                                                                   :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####@@@#S*;,             ,,,:;+?%S#%                                                                                    ,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@S%%%???***?%%##@@@@@@@@*                                                                                      ,+S@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                                                        :?#@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                                                                                         ,;%@@@@@@@@@@@@@@@@@@@@@@