@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                                             ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;,                                                                  ,;*S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:                                                                 ,,    ,:;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                                                                    ,:;;;:,:;+*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:                                                                        ,:;*?%%??*?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@#?+,                                                                            ,:+*%#@@@#S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#?;,                                                                                 :+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@#%+:                                                                                     ,+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#S*;,                                                                                        ,+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@S?+:                                                                                            :+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@#S*;,                                                                                              ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#S%*;,                                                                                                 ,+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@S%?+;,                                                                                                   ,;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@#S%*;:,                                                                                                      :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SS%?+;:,                                                                                                        :*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%%%%%%%SS##@@@@@@@@@@@@
@@@@@@@@##SS%*+,                                                     ,;+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:, :+*****++++***??%S#@@@@@@@@@@
@@@@@@@@@@@@#S%*:,                                                    ,:;;+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:,  ,;;::::::::::;;+*?%S@@@@@@@@@@
@@@@@@@@@@@@@@@#%+,                                                        ,,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@##S%%?*;,     ,,           ,,:;+*%@@@@@@@@@@
@@@@@@@@@@@@@@@@@#*,                                                           ,:;*?%S##@@@@@@@@@###S%%?**+;;::,,                      ,,:+%@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@%:                                                               ,,:;;;+++++;;;:::,,,,                                ,+S@##@@#@@@@
@@@@@@@@@@@@@@@@@@@@#;                                                                                                                   :?%%%%%%SSSSS
@@@@@@@@@@@@@@@@@@@@@@*,                                                                                                                ,+****????????
@@@@@@@@@@@@@@@@@@@@@@@%,                                                                                                              ,+++***********
@@@@@@@@@@@@@@@@@@@@@@@@S;                                                                                                            :+**************
@@@@@@@@@@@@@@@@@@@@@@@@@@*,                                                                                                        :*%%%?????????????
@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                                                                                                    ,:*S#####SSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                                                                                                :+?#@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                                                                                          ,:+?S@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:,                                                                                     ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:,                                                                               ,;*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:,                                                                        ,:;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:,                                                                  ,;*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,                                                            ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@