                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                         ,,,,,,,,,,,,,,,,,,,,,,,,,                                                                                                    
              ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,                                                                                         
           ,,,,,,,,,::::::;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,,,,,,,,,,,                                                                              
        ,,,,,,,::::;;;;++++*************************++++++;;;;;:::::,,,,,,,,                                                                          
      ,,,,,,::::;;++***???%%%%%%%SSSSSSSSSSSS%%%%%%%%%????****+++;;;::::,,,,,,,                                                                       
    ,,,,,,:::;;;++**??%%SSSS##########################SSSSS%%%???***++;;;:::,,,,,,,,                                                                  
   ,,,,,,:::;;++**??%%SS####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####SSS%%%??**+++;;:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,                                        
 ,,,,,,,:::;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%??**++;;;:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,                           
 ,,,,,,,:::;;++**??%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%?***++;;;::::::::::::;;;;;;;;;;;;;;;;;;:::::::::,,,,,,,,,,,,,                
  ,,,,,,:::;;++**??%%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####SS%%??***+++;;;;;;;;++++*****************++++++;;;;;;:::::,,,,,,,,,,           
  ,,,,,,,:::;;++*??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%%??****++++****????%%%%SSSSS%%%%%%%%%?????****++++;;;::::,,,,,,,         
   ,,,,,,:::;;++**??%%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%%???????????%%%SSS#################SSSSS%%%%??***++;;;:::,,,,,,,,      
   ,,,,,,:::;;++**??%%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%%%%???%%%%%SSS###@@@@@@@@@@@@@@@@@@@@####SS%%%??**++;;:::,,,,,,,      
   ,,,,,,:::;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####SSS%%%%%%%%%%SSSS###@@@@@@@@@@@@@@@@@@@@@@@####SS%%??**++;;:::,,,,,,,      
   ,,,,,,:::;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####SSSSS%%%%%%%%SSSS####@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**++;;:::,,,,,,,,      
  ,,,,,,,:::;;;++**??%%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######SSSSSSSS%%SSSSSS####@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**++;;:::,,,,,,,,       
  ,,,,,,,,::::;;;+++**???%%%SS####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######SSSSSSSSSSSS######@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??*++;;;::,,,,,,,,        
     ,,,,,,,,::::;;;;++***??%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**++;;;::::,,,,,,,,,,   
         ,,,,,,,,:::;;;+++*???%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SSS%%??***++;;;;:::::,,,,,,,,
          ,,,,,,,,:::;;;++**?%%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%%???***++++;;;;:::::,
       ,,,,,,,,,:::;;;++**??%%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####SSSS%%%%????***+++;;;;
     ,,,,,,,,:::;;;++**???%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########SSSSS%%%%??***+++
  ,,,,,,,::::;;+++**??%%SSS####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########SSSSSSSSSSSSS%%%%???**++
 ,,,,,,:::;;;++**??%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####SSSS%%%%%%?????????????????***+++
,,,,,:::;;++**??%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSSS%%???****++++++++++++++++++;;;;;;
,,,::::;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**+++;;;::::::::::::::::::::::,,
,,,:::;;++***?%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%%?**++;;;:::,,,,,,,,,,,,,,,,,,,,,,,,
,,,,:::;;++**??%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SS%%??**++;;:::,,,,,,,,,                 
,,,,,,::;;;++**??%%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**+;;;::,,,,,,,                    
,,,,,,,::::;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**+;;;::,,,,,,                     
  ,,,,,,,,::;;+++**?%%SSS##@@@@@@@@@@@@@@@@@@@@@@#################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SSS%%??*++;;;::,,,,,,,                   
    ,,,,,,,::;;++**?%%SSS##@@@@@@@@@@@@@@@@@@@@@#####SSSSSSSS#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**++;;:::,,,,,,                  
    ,,,,,,::;;+++*??%%SS###@@@@@@@@@@@@@@@@@@@@@#####SSSSS#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%?**++;;;:::,,,,,,                
  ,,,,,,:::;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@###############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**++;;:::,,,,,,               
 ,,,,,:::;;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SS%%??**++;;::,,,,,,,              
,,,,::::;;++**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??*++;;:::,,,,,,,             
,,,:::;;;+**??%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%??**++;;::,,,,,,,             
,,:::;;;++**?%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######SSSSSSSSSSSS####################@@@@@@@@@@@@@@@####SS%%??**++;;::,,,,,,,             
,,:::;;;++**??%%%SSSS####################################SSSSSS%%%%%%%%%%%%%%%%SSSSSSSSSSSSSSSSSSSSS#############SSS%%%??**++;;:::,,,,,,,             
,,,:::;;;+++**?????%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?????**************??????????????????????%%%%%%%%%%%%%%?????***++;;;:::,,,,,,,              
,,,,,::::;;;;++++++++++********************************++++++++;;;;;;;;;;;;;++++++++++++++++++++++++++++*******++++++++;;;;::::,,,,,,,                
,,,,,,,,,:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,                  