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