@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################SSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################SSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################################SSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################SSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################SSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################################SSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################################SSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################################SSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?*;:,,,,,,,::::;;+**?%SS#@@@@@@@@@@@@@@@@@@@@@@@@###########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:,                       ,,:;+*%S#@@@@@@@@@@@@@@@@@@@##########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                                  ;?#@@@@@@@@@@@@@@@@@@@@@########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                     ,;*S@@@@@@@@@@@@@@@@@@@@@@#######################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                          ,;?#@@@@@@@@@@@@@@@@@@@@@@#####################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                                              ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@#################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                                                  :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                                   :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                                                  :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                   ,,;+***+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                                           ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                                           ,+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                                             :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                                                            ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                                                            ,:+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                               ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                                               ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                                               ,;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                          ,;*%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                         :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                        ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                        ,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                                        ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                                        ,:?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                                          ,;?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@##@@@@@@@@@@@@@@@@@@@@@@@@@S                                                             ,,::;;++++;+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@S*;:?@@@@%%@@@@@@@@@@@@@@@@@@#,                                                                         :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@*,   S@@@%,*@@@@@@@@@@@@@@@@@S:                                                                        :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@?    ?@@@S,+@@@@@@@@@@@@#S%?*+,                                                                        ,,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@%,   *@@@#,;@@@@@@@@#S??*+++;:,                                                                            :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@#,   *@@@@::@@##S%?**+++;;::,,                                                                              ,:?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@:   +@###+,???***+++;;:,,                                                                                    ,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SS+   :????+,+*+++;;:,,,                                                                                         ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
??*,   +**++,:;::,,,     ,,                                                                                        ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
***,   ,;;::, ,,    ,,,,      ,,                                                                                     :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;::,    ,,,,   ,,,,,,,     ,;*%;                                                                                      ,:?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
::,,        ,,,,,,      ,:+?%?*,                                                                                        ,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@