@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################SSSSSSSSSSS%%%%%%%%??????*****++++;;;;::::,,,,                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################SSSSSSSSSSS%%%%%%%%??????*****++++;;;;:::::,,,,                                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSS%%%%%%%%???????*****++++;;;;:::::,,,,                                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSS%%%%%%%%%??????*****+++++;;;;::::::,,,,                                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSSS%%%%%%%%???????*****+++++;;;;::::::,,,,                                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSSS%%%%%%%%%??????******+++++;;;::::::::,,,,                                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSS%%%%%%%%%??????******+++++;;;;:::::::,,,,                                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSS%%%%%%%%???????******+++++;;;;::::::::,,,,                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSS%%%%%%%%%%??????******+++++;;;;;::::::::,,,,                                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSS%%%%%%%%%????????*****+++++;;;;;:::::::::,,,,                               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSS%%%%%%%%%????????******+++++;;;;;:::::::::,,,,,                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################SSSSSSSSSSSSS%%%%%%%%%????????******+++++;;;;;;:::::::::,,,,,                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSS%%%%%%%%%????????******++++++;;;;;;::::::::::,,,,                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################SSSSSSSSSSSSSS%%%%%%%%%%????????*******+++++;;;;;;:::::::::::,,,,                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSSSSSS%%%%%%%%%%?????????******++++++;;;;;;:::::::::::,,,,,                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSS%%%%%%%%%%????????*******+++++++;;;;;;:::::::::::,,,,,,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################SSSSSSSSSSSSSSS%%%%%%%%%%?????????********++++++;;;;;;::::::::::::,,,,,,           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@#####################SSSSSSSSSSSSSSS%%%%%%%%%%%%?????????*******++++++++;;;;;;::::::::::::,,,,,,       
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+:,+%@@@@@@@@#@@@#################SSSSSSSSSSSSSSS%%%%%%%%%%%%??????????*********+++++++;;;;;;;::::::::::::,,,,,,   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;    ,*S@@@@@@@@S?+:;%################SSSSSSSSSSSSSSS%%%%%%%%%%%%%??????????*********++++++++;;;;;;;;::::::::::,,,,,,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S     ,;%@@@@@@%;,   +##################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%???????????*********+++++++++;;;;;;;;;::::::::::,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?      ;%@@@@S;    ,*####################SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%????????????**********+++++++++;;;;;;;;;;:::::
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*     ,;S@@@?,    ,?#######################SSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%????????????***********+++++++++++;;;;;;;;;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+     ,*#@#+     ,?####@@#S?**%##############SSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%????????????*************++++++++++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:     ,*#S:     ,?##@@S?+:,  +S#################SSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%???????????????**************+++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,     :*?,     :?@@#%;,    ;%#####################SSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%???????????????****************
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*      ::      ,?@S*:    ,;%#@#######################SSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%??????????????????*******
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:             ,?%+,    ,*S#@############################SSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%???????????????????
@@@@@@@@@@@@@@@@@@@@@@@@@#%++*+             ,;;,    ,*#@@@@###SSSSS######################SSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%???????????
@@@@@@@@@@@@@@@@@@@@@@@S:,                  ,      :%#S?*+;:,,,,,:*S#########################SSSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@?                          ,;;,       ,:+?S##############################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@#:                             ,:;+?%S##@@@###################################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@%                          ,+?S#@@@@@@@@@@@@@####################################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@*                       ,*#@@@@@@@@@@@@@@@@@@@@@######################################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@%                       ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@S,                      ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################################SSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@:                       +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################################################################
@@@@@@@@@@@@@@@@@@@@@@@?                       ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################################################
@@@@@@@@@@@@@@@@@@##SSS:                     ,+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########################################################
@@@@@@@@@@@@@S?+:,,,,,                      ;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################################################
@@@@@@@@@@%;,                             :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################################
@@@@@@@@%;                                ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@######################################
@@@@@@?:                                    ,:+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################
@@@@?:                                         ,+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@
@@%:                                             :+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@