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