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