@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*+:,,                                                           ,+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?*;:,                                                                  ,;?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@##%*;,,                                                                         :*%####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@#S?+:,                                                                               ,+%####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@#%+:,                             ,,,,,,,,,,,,,,,                                        :*S#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#S*;,                         ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,                                   :?######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@#%*:,                      ,,,,,,,,,,,                  ,,,,,,,,,,                               ,+S#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@#%+:                     ,,,,,,,,,                              ,,,,,,,                             ,;?######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@#S*:,                   ,,,,,,,,                                      ,,,,,,                            :*S#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@#S%?;,                  ,,,,,,,                                             ,,,,,                           :*S######@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@#SS?*+,                  ,,,,,,,                                                 ,,,,,                          :*S######@@@@@@@@@@@@@@@@@@@@@@@@@
@#SS?*+;:,                 ,,,,,,                                                      ,,,,                          :*S######@@@@@@@@@@@@@@@@@@@@@@@@
S%?*+;:,                 ,,,,,,                                                          ,,,,                        ,;?S######@@@@@@@@@@@@@@@@@@@@@@@
*+;:,,                  ,,,,,,                                                            ,,,,                        ,+%SSS####@@@@@@@@@@@@@@@@@@@@@@
;:,                   ,,,,,,,                                         ,,                   ,,,,                       ,:*%%%S###@@@@@@@@@@@@@@@@@@@@@@
:,                   ,,,,,,                                           ,,,,,                ,,,,                        ,;***?S##@@@@@@@@@@@@@@@@@@@@@@
;:                  ,,,,,,                                  ,,,,,,,,,,,,,,,,,,             ,,,,                        ,:;;;+?S##@@@@@@@@@@@@@@@@@@@@@
*;,    ,,,          ,,,,,                               ,,,,,,,,,,,,,,,,,,,,,,,            ,,,,                         ,,,,;*S###@@@@@@@@@@@@@@@@@@@@
%*;,  ,::,         ,,,,,,                             ,,,,,,,,,,,,,,,,,,,,,,,,,             ,,,                            ,:+%#####SSSS##@@@@@@@@@@@@
#%*:,,:;+;,       ,,,,,,,                            ,,,,,,,,,,,,,,,,,,,,,,,,,              ,,,                             ,;?%%S%%????%S#@@@@@@@@@@@
@#%+::+*?+,      ,,,,,,,                           ,,,,,,,,,,,,,,,,,,,,,,,,,,              ,,,,                             ,:+**?**++++?%#@@@@@@@@@@@
@@#%*+?%S?,      ,,,,,,,                           ,,,,,,,,,,,,,,,,,,,,,,,,               ,,,,                              ,::;;;;;:::;*%#@@@@@@@@@@@
@@@#%?%S#S:      ,,,,,,,                           ,,,,,,,,,,,,,,,,,,,,                 ,,,,,,                              ,,,,,,,, ,,;*%#@@@@@@@@@@@
@@@@#SS##S+      ,,,,,,,                            ,,,,,,,,,,,,,,,                    ,,,,,                                        ,:;+%S@@@@@@@@@@@@
@@@@@#####?,     ,,,,,,,,                            ,,,,,,,,,,,                     ,,,,,,                                      ,,:;+*%S#@@@@@@@@@@@@
@@@@######S;     ,,,,,,,,                              ,,,,,,,,,,                 ,,,,,,,                                      ,,:;+?%S##@@@@@@@@@@@@@
@@@@@@#####?,     ,:,,,,,,                               ,,,,,,,,,,,,,      ,,,,,,,,,,                                       ,:;+*?%S#@@@@@@@@@@@@@@@@
@@@@@@######+     ,::,,,,,,                                 ,,,,,,,,,,,,,,,,,,,,,,,                                       ,,:;*?%S##@@@@@@@@@@@@@@@@@@
@@@@@@@#####S;     ,;:,,,,,,                                      ,,,,,,,,,,                                            ,,;+?%SS##@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#####%:     :;:,,,,,,               ,                                                                          ,;*?S###@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@#####%:     :+;,,,,,,                ,,                                                                     ,:*%S###@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@######S;    ,:++:,,,,,,                 ,,                                                                ,:+?S######@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@#####S+,    :**;,,,,,,,                                                                               ,;+?S######@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@######?:    ,+?*;::,,,,,                                                                          ,:;*%S#######@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@#####S+,   ,;?%*;:::,,,,                                                                      ,:+?%S#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@######%;,   ,+?%?+;:::,,,,                                                                ,:+*%S########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@######%;,   ,+?%%*+;;;::,,,                                                         ,,:+*%SS########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@######%+,   :+?S%?*+++;;::,,,,                                                ,,:;*?%S##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#####S?;,  ,;?%S%%?****++;;::,,,,                                     ,,:;+*?%SS############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@###@#%*;,,,;*%SSS%??**???***++;;;:::,,,,,,,,,,,,,,      ,,,,,::;;+*??%SSS############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@####S%?+;::;+?%SSSS%%?????%%%%%???????**********++++****???%%%SSS##############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%??*+++++*?%SSSSSSSS%%%%%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS#################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%?***+++**?%SS########SSSSSSSSSSSSSSSSSSSSSSSSSS#####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%??******??%S##################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS%?******??%S#############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@