*,...                  .*/(%%%&%%%%%###((/((((/*,.........     .....                                                                                                                  ..,,,*************
/*,..                  .,*(#%%%%#######(((((((/*,     ..                                                                                                                             ..,,********///////
(/*,.                  ..*/#%%%%%%%#####((///**,.                                                                                                                                     ...,,,,,.,,*//((((
#(*,.                   .,*(#%&&&&%#(//***,,,,,..                                                                                                                                               .,,*////
%(/*.                    ..,/(%##(/,,........,,,........                                                                                                                                         .......
%#(*,.                     ..,**,,..        ..,,****,,,............                                                                                                                                     
&%#(*.                        .              .,**//**,,,...........               ...........................                 ......       ...            ......                                        
&%#(*..                                      .,,****,,,...........           .......,,,.,,,,,,,,,,,,..,,,........             .......     ...,..     .....,****,.                                      .
%#(/,.                                        ..,,,,,....   .....         ...,,,,,,,,,,,,,,**********,***,,,,,,......              .      ...,,,..,,,,,,,,*/(((/,.                                     .
#(*,.                                           ........                ..,,,*********************************,,,,..............            ...,,,*////***//((#/*,..                                    
/*,..                                                               ....,,*************/////////////////////*****,,,,,,,.............        .....,*/////////((//*,,....                                
,..                                                               ...,,****///////////////((((((((((((((///////********,,,,,,,,,,,,.....      ....,,**//////(((//***,,,,..                              
..                  ...,,,,..                        ...      .....,,***////////////(((((((((((((((((((((///////////****************,,,,...   .,,****,,,,,*//(((//*******,..                            
                  ..*/##%%(/*,..                             ...,,,**///////////(((((((((#########(((((//////////////////*************,,,,...  .,**/*,,...,*/((((/////////,.                            
               ..,*/#%&&&&%#(##(/*,...                     ...,,***////(((((((((((((((###########((((((((((((///////////////////////*****,,,......,**,,,,,,*//((((((((((((/,..                          
          .....,,/(%&&@@&&&%%&&%%#/,,......            ....,,***///(((((((((((########################((((((((((((////////////////////*****,,,.....,,*****////((((((((((##/*,.                          
        ..,*,,,,*/#%&&@@@&&&&&&%%#/*,,,,,,..           ..,,***///(((((((##################%###############((((((((((((/////////////////******,,,....,*/////((((///****//((/*,.                          
         .,,,,,,*/(#%&&&&&&&&&&&&%#(*,,....          ..,,**////(((((((#############%%%%%%%%%%%%%%%%%%%%%####(((((((((((//////////////////*******,,..,**/(((((((//*,,,,,*////*,.                         
          ..,*****//(#%%%%%%%%%%&&%%#/*,..          ..,**///((((((############%%%%%%%%%%%%%&&&%%%%%%%%%%%%%#######((((((((//////////////////////***,,**/(((((((//**,,,**/(((/,.                         
         ..,*///*****/(((((((((#%%&&%#(/,...       ..,*///((((((############%%%%%%%&&&&&&&&&&&&&&&&&%%%%%%%%%%######(((((((/////////////////////////***/(((((((///*,,**//((//,.                         
         .,*/(#((//**//((((////(#%&&&%%#(*,..     ..,*//((((###############%%%%%%&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%######((((((((((//////(////(((((((//***/////////***,,******,..               ..,,,,...
          ..*(####(((((###(////(#%%&&%%#(/*,.     .,*//(((###############%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%########(((((((((((((((((((#####(/**,,,*********,,...,,**,,................,*////*,,
            ,/##%##((((###(////(#####(**,..       .**/((##############%%%%%%%%%%&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%##################################%%#(/*,,,,,,,,,,,,,.....,,*,,,,,,,,,,,,,,,,,,*//(((//*
            .,,**//((((###((//*******,..         .,*/((#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%################((((#(((((((((((#######%%%%%%%###########%%#(/*,,,.....,,,,.. ...,,***************,,,,.,,,,,,**
                 ..,*(##%#(/*,...,,,,.          ..,/((####%%%%%%%%%%%%%%%%#######%%%%%%%#####(((((((((((((((((((((((((((((#############((((((((#####(/*,...    ....,,,,,,,,,,*******,,,***,,............
                    ,/((//,.                    ..,*/(###%%%%%%%%%%%%%%%%%%###(((((((((#####(((((((((((((((((((((((((((((((((((((///(((#############(/*,.....   ...,,,,,......,,,,,,,,****,,..,,,**,,,..
                    ..,,,..                     ..,/((##%%%%%%%%&%%%%&&&&&&&%%%%#((//////////(((((((((((((((((///((((/((((///////(((##%%%%&&&&%%####(/*,.  .    ...,,,,,,,,,,,************,,,,,,*////***
                                                  ,*/(##%%%%%%%%&%&&&&&&%%%%%%###((((////((((((((((((////((((/(((((((((((((((////((((###%%%%%%%%%%%%#/*,.      ..,,*///////////((((((/**********/////(((
                                                  .,*/(#%%%%%%%%&%%%%%%%%%%#(((//***,,,,***/((((#((((((/(((((((((((###(((//****,,,***//(((###%%%%%%%#/*,.     .,/(##%#################(((((((((((/(((###
                                                   .,*/(#%%%%%%&&&&%%%%###((((//*,,,,,,,,,,,**/(######((((((####%%%###(/**,,,,,,,,,*/(#((((((##%%%%%#(/*,..  ..,/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(
                                             .,,*/*,,*//(##%%%%%&&%%%%###(##%#((/*,,,,,,,,,,,,*/(#%%%%#######%%%%%%%#(/*,,,,,*,,,,,*/###%##(###%%%%%##(/,,.  ..,/((##%%%%&%%%%%%%%%%%%%%%%%%%%%%&&%%##((
                                            .,/((##(((/((##%%%%%%%%%%%%%###%%%#(/*,,,,,,,,,,,,*(##%%%%%######%%%%%%%#(/*,,,,,**,,,**(##%%%###%%%%%%%##(/*,. ..,*/((#######%%%%%%###%%%%%##%%%%%%%%%#((((
                                          ..,*(((##%%%#####%%%%%%&&%%%%%%%%%%%##(/*****,,,,,,*/(#%%%%%%%####%%%%%%%%#(/*,,,,******//(##%%%%%%%%%%%%%%#(/*,...,,*//////////(###%%%########((((##%%%%#((##
                                          ..,/((###%&&&&%%%%#%%%&&&%%%%%%%%%%%%##((//***,,,,**/##%%%%%%#####%%%%%%%%##(/*******///((##%%%%%%%%%%%%%%%##/*,....,,,,,,,,...,,*/(#######(((/***//(##%%#((##
                                          .,*/(##%%&&%%%%%%%#%%%%%%%%%%%%%%%%%%%##((//******/((#%%%%%%####(#%%%%%%%%%##((///////(((###%%%%%%%%%%%%%%%##/*,......          ..,,*//((//*,,,,,,**///((///((
                                          .,*/(#%%%%%#((#%%%#%%%%&&&%%%%%%%%%%%%##((/////(((##%%%%%%%%%#####%%%%%%%%%%%####((((((####%%%%%%%%%%%%%%%%%#(*,..                ....,,,........,,,,,,,,*****
                                          .,*/##%%##((/(#%%%%%%%&&&&%%%%&%%%%%%#####(#####%%%%%%%%%%%%%#####%%%%%%%%%%%%%%%%#########%%%%%%%%%%%%%%%%%#(**,.............      ....      .....,,.......,,
                                           .,/##%%##(##%&&&%%%%&&&&&%%%&&&&%%%%%########%%%%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(********,,,,,...      .....     ....,,,...      
                                            .*(#%&%####%&&&&%%%&&&&&%&&&&&%%%%%%%%######%%%%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%#(*,,,,,,,,.....         .....      ....,...  ..  
                                            .*(##%%%%%%%%%%&&&&&&&&&%%%&&&&&%%%%%%%######%%%%&%%%%%%%%%%%##%%&%%%%&%%%%%%%%%%%%%%%%%%%%&&&&&&&%%%%%%%##(*,,...,,**,,,....      ..,...     ...,,,........
                                             ,*/#%%##%%%%%%%&&&&&&&%&%%%&&&&&&%%%%%%#######%%%%%%%%%%%%%%###%%%%%%%%%%%%%#####%%%%%%%%%&&&&&&&&%%%%%%##(/*,....,,*,,,......    .......    ..,,,,,.......
                                              .,/#%%%%%%%%%&&&&&&&&&%%%%&&&%%%%%%%%#####(((##%%%%%%%%%%%%###%%%%%%##%%%###((((##%%%%%%%%%&&&&&%%%%%%%#((/*,.   .......,,,,,...             .........    
                                               .*(#%&&&%&&&&&&&&&&&&%%%%%%%%%%%%%%####((((((##%%%%#%%%%%##(##%%%%%%%%%%##((///((##%%%%%%%%%%%%%%%%%%#(//*,..        ...,,,,...    .........,,,,,,,,,,,,,
                                               ..,/(%%&&&&%%#%%&&%%%%%%%%%%%%%%%%%###((((((##%%%%%%%%%%##(((#%%%%%%%%%%%##((///((##%%%%%%%%%%%%%%%%#(/*,,,...          ....    ..,**///////////(((((((((
                                                  .,**///////(%&&%%%%%%%%%%%%%%%%###((((((##%%%%%%%%%%%##(((#%%%%%%%%%%%%###((((((##%%%%%%%%%%%%%%#(/*,....                    ..,*///////////////////((
                                                      ... ..,/#%%%%%%%%%%%%%%%%%%%##((####%%%%%%%%%%%%##((((#%%%%%%%%%%%%%%%##((((##%%%%%%%%%%%%%#(/*,..                        ....,,,,.........,,,,,,,
                                                           ..*(#%%%%%%%%%%%%%%%%%%######%%%%%%%%%%%%%###((((#####%%%%%%%%%%%%###(###%%%%%%%%%%%%#(/*,...                                                
                                                             ,/(#%&%%%%%%%%%%%%%%###(##%%%%%%%%%%%#####(((((((####%%%%%%%%%%%##(((##%%%%%%%%%%%#(/*,,..                                    ........     
                                                             .*/#%&%%%%%%%%%&%%%##((((#################(((((((((##############((/(###%%%%%%%%%#(**,,..                                    .,,***,,..    
                                                             .,*(%%%&%%%%%%%%%##(/////((((/////((((####((((((#####((((//*////(//*/(##%%%%%%%##(/*,,..                                     .,,***,,..    
                                                             ..,/#%%&&&%%%%%%%#(/*,*/((((///****///((########%###(/////**/((((/*,*/(#%%%%%%%(/***,..                                      ......       .
.                                                           .. .*/#%&&%%%%%%%%#(/*,/(####(///////***************/////////((((((/**/(#%%%%%#(/*,,,,.                                     ..,,*,,,,.......
.                                                              ..,*#&&&&&%%%%%#((/*/(##%##((/////////////****////////(///((###(/*/(##%%%%#(**,,...                                     ...,,*****,,.....
                                                                ..,/#%%&%%%%%%%##(((##%%%##((////******/*****//////((((((#####((/(##%%%%%(/*,...                                        ...,,**/**,..   
                                                                  .*(#%%%%%%%%%%%####%%%%###((((///////////////////((((###%%####(##%%%%##(*,..                                            ..,,*/**,..   
                                                                  .*(##%%%%%%%%%%%###%%%%%%##((((//////////////////(((##%%%%%%%%%%%%%%%#(/,..                                             ...,****,.    
                                                   ......         .*(#%%%%%%%%%%%%%%%%%%%%%%###((////////***//////((###%%%%%%%%%%%%%%%#(*,. ....                                          ...,****,,..  
                                                  .......      ...,/##%%%%%%%%%%%%%%%%%%%%%%%###(((/////////////((###%%%%%%%%%%%%%%%#(/*,.........                                   ......,,*////**,,..
                                                  ......   .....,*/(#%%%%%%%%%%#%%%%%%%%%%%#######(((((((((((((#####%%%%%%%%%%%%%%%#(/*,............                      ...       ......,,*//((//**,..
                                                  .............,*/(##%%%%%%%%%%%#####%%%%%%%#########################%%%%%%%%%%%%##(*,................                   ..,,,,..    ...,,,,,******,,.. 
                                                  ...........,**(###%%%%%%%%%%%%%#######%%%%%%####((((((##############%%%%%%%%###(*,,...................                 ..,,**,...  .,,***,,,.......   
                                                ...........,,*((####%%%%%%%%%%%%%%%########%%%%#####((((((#############%%%%%##((/*,......................                 ...,,,......,,***,,..         
                                               ..........,*/((####%%%%%%%%%%%%%%%%%%%########################(##############((/*... .......................  ....        ................,....          
                                             ...... ..,*/((((#####%%%%%%%%%%%%%%%%%%%%%######(((########################((//**,...  .........................   .....  ..........                       
                                          ........,**//(((######%%%%%%%%%%%%%%%%%%%%%%%%#############(((((((((((((((((//***,,,..    .............................................                       
                                      .........,*///((((####%%%%%%%%%%%%%%%%%%%%%%%%%%%################((((////////////**,,,,..     ..............................................                      
                                    .......,**///(((((#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####################(((((((//**,,...      ....................................................                 
                                 ......,,**///(((((#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########################(((//*,,.......    ........................................................             
                            .......,,***////(((((########%%%%%%%%%%%%%%%%%%%%%%%%%#%#################((((((((((((//*,,........     ...........................................................          
                          .....,,****//////(((((#######%%%%%%%%%%%%%%%%%%%%%%%%%%%###########(((((((((((//////***,,,.........      .............................................................        
                        ....,,,**//////////(((((####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########(((((((///////***,,,............      ................................................................      
                       ..,,***////////////(((((((#####%%#####%%%%%%%%%%%%&&%%%%%%%%########((((((////****,,,.................    ...................................................................    
.                   ..,,***/////////////((((((((##############%%%%%%%%%%%%%%&&%%%%%%######(((((/////**,,.............................................................................................   
                 ...,***///////////////(((((((((((##################%####%%%%%%%%%%%%%######((((///**,,......................... ...................................................................... 
              ...,***//////((///(((//((((((((((((((################################%%%#########((///**,,..,,,,,...............    ......................................................................
         .....,,**///////(((((((((((((((((((((((((((####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########((((//*,,,,,,,................     .......................................................................
         ..,,**/////////(((((((((((((((((///(((((/((####%%%%%&&&&&&&&&&&&&&%%%%%%%%%%%%%%####(((//*,,,,,,,,,................    ........................................................................
      .,,************//////////(((((((/(((((/(((((((((###%%%%%&&&&&&&&&&&&&&&%%%%%%%%%%%#####(/**,,,,,,,,......................  .......................................................................
 ...,,***********////(((((((((((##((((((((((((((((((((####%%%%%&&&&&&&&&&&&&%%%%%%%%%####((/**,,,,,,,,.............................,,,,..................................................... ...........
..,**///////////////(((#####################((((((((((((###%%%%%&&&&&&&&&%%%%%%%%%#####((/**,,,,,,,,,........,.....................,,,...............,,.....................................   .........