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