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