___ ___ ___ ___ ___ ___ ___ ___ ___ /\ \ /\ \ /\ \ /\ \ /\ \ /\ \ /\ \ /\__\ |\__\ /::\ \ /::\ \ \:\ \ /::\ \ \:\ \ /::\ \ /::\ \ /:/ / |:| | /:/\:\ \ /:/\:\ \ \:\ \ /:/\:\ \ \:\ \ /:/\:\ \ /:/\:\ \ /:/ / |:| | /::\~\:\ \ /:/ \:\ \ /::\ \ /::\~\:\ \ /::\ \ /::\~\:\ \ /::\~\:\ \ /:/ / ___ |:|__|__ /:/\:\ \:\__/:/__/ \:\__\/:/\:\__/:/\:\ \:\__\/:/\:\__/:/\:\ \:\__/:/\:\ \:\__/:/__/ /\______/::::\__\ \/__\:\/:/ \:\ \ /:/ /:/ \/__\/__\:\/:/ /:/ \/__\:\~\:\ \/__\/__\:\/:/ \:\ \ /:/ \::::/~~/~ \::/ / \:\ /:/ /:/ / \::/ /:/ / \:\ \:\__\ \::/ / \:\ /:/ / ~~|:|~~| \/__/ \:\/:/ /\/__/ /:/ /\/__/ \:\ \/__/ /:/ / \:\/:/ / |:| | \::/ / /:/ / \:\__\ /:/ / \::/ / |:| | \/__/ \/__/ \/__/ \/__/ \/__/ \|__|
                            `:;''''';,   `                                                                 
                         ;;;';;;;;;';';;;`                                                                 
                       '''';;''';;;;';;;;;'.                                                               
                   ``'''''''''';;;;;;;;;;''''                     `;''';';;;;;;`                           
                  ,;;;;;'';;;;;;;;;;;;;;';;';;;               ` ''''';'''''';;;;;;                         
                :;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;:             ';''''''''';;;;;;;;;;;;::,`                  
              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;          :'''''';;;;;';;';;;;;;'';';;;;:,               
            .;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;:`       ;'''';;;;;;;;;;;;;;;;''';;;;;;;;;;:             
           ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`     ;''';';;;;;;;;;;;;;;;;;';;'';;;;;;;;;,           
         .;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;:;;;    ;''';';;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;          
        :;;;;;;;;'';;;;;;';;';;;;;;;;;;;;;;;;;;::::;;:  ;''';;';;;;;;;;;:;;;;;;;;;;;;::::::::::;;;.        
       ,;';;;;;;;;;;;;'';'''';;;;;;;;;'';'''';';;:::;:. '''';;;;;;;;;::;:::::::::::;::::::::::::;;;,       
      .;';;;:;;;;;;;;;'';'''';;''';;;';;;''''''''';::::''';;;;;;;;;;;;::::::::::::::::::::::::::;;;',      
   `` ;;;:::::;:;;;;;;'';'';;;'''';;;;;;;;;';''''''';;;''';;;;;;;;;;;;;:::::::::::::::::::::::::::;;'.     
     ;;::::::::;;;'';;';;:;;;;'';;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;'';;;;;;::,,::::,:,,,,,,::::::::::;;';     
    ,;;::::::::;;;;;;'';;;;;;'';;;;;;;;;;;;;;';;;;;;;;;;;;;'';''''';;;::::,,:::,,:,,,,,,,,,::::::::;;';    
    ;;:::::::::;;;;';;:;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;;''''''''';;:::,,::::,,:,,,,,,,,:::::::::;';.   
   ,;;::::,,::::;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''';;:::,,:::,:::,,,,,,,:::::::::;;';   
   ;;;:::,:::,::;;;;:;:::::;;;;;;;;:;;;;;;;;;;;;;;;;;;:;;;;;;;;''''''';;::::,::::,::::,,,,,::,,::,:::;;;   
  `;;;:::::;::::;;;:::::::::;;:;:;:::;::;;;;;;;;';;;;;;';::;;;;:;''''';;;::::::::::::::,,,,,:::,,::,::;;`  
  ,:::::::::::::;;;:::::::::::::::::::::;;;;;'';;;;;;;;;;:::::;;;;'''';;;:::::::::::::::,,,::::,,,,:::;;,  
  ;;:::::::::::;;;:::,:::::;:;::::::::;;:;;'''';;'';;;;;::::::::;;;''';;;;:::::::::::::::,:::::,,,,,::;;:  
  :::::::::;::;;;;::::::::::::,,:::::::;;;;';'';;;;;;;;::::;,,::::;'''';;;;:::::::::::::::;::::,,,,,:::;;  
  ::::::::;;;;;;;;:::,,,::,,,,,,:::::::::;;;;';;;;;;;;';::::,,,,:::;+'''';;;::::::::::::;;;;::::,:::::;;;  
  ;:::;::;;;;';;;;;:,,,,:,,,,,,,,,,:::::;;;;;'';;;;;;;;;::,,,,,,:::;;''''';;::::::::::::;;;::::;::::::;;;  
  :;;;;;;;;;;';;;':::,,,,:,,,,,,,,,::::;;;;;;;';;;;;;;;;:::,,,,,,,::;''''';;;;;:::::::::::;:::;''';;;;;;;  
  :;;;;;';;;;;;;;':::::,:,,,,,,,,:,::;;;;;;;;'';;;;;;:::::,,,,,,,,::::''''';;;;;:::::::::::::;'''';;;;;;;  
  ;;;;;'+''''''';'::::::,,,,,,.,,::::;;;;;;;;'';:;;;;:::::,,,,,,,,,:;;+'''';;;;::::::::::::::;;''';;;;;;;  
  .;';;;+++'''''':;:::::,,,,,.,,:::::;;;';;:;'':;;;;;:::::,,,::,,,,,:::''''';;;:::::::::::::::;;;;;;;;;;;  
   :;''''''+++++':;:::::,,,,,,:::;:;;;;;';;;'';:;;;;:;::::::,,,,,,,,:::''''';;;;;::::::,,:,,::::;:::::;;,  
   :;;''++'''++++:;:::::,,,,,,,:::;;;;;;;;;;;';;;';;;;;::::::::,,,::,::+'''''';;;;::::,,,,,,,,,::::::::;`  
    :;'''''''''+;:;:;::,,,:,,,:::;;;;;;';;;;;;;;;;;;;;;;;::::':,,,:::::+'''''';;;;:::::,::,,,,,,:,::::::   
    `:;'''''''''::::;::::;;,::::;;;;;;;';;'''''''''';;';;:::;::::::::::''+'''';;;;;::::,,,,,,,,,,,,,,,::   
     :;;';';'''':::::;::::::::::;;';;;''''''''''''''';;;;:;;;:;::::::::''+'''';;;;;;:::,:,,,,,,,,,,,,,:.   
      ;;;;;;;'''::,::::::::::::;;;';;''''''''''''''''';;;;;;;;;;;;:;:;:'''''''';;;;;::::,,,,,,,,,,,,,::    
       ::;;;;;;;;::::::::;';;;;;;;;;''''''''''''+''''''';;;;;;;''';;;;:''''''''';;;;::::,,,:,,,,,,,,:::    
       `:::;;;;;;:::::::::;;';;;'';';'''''''''''''''''';;''''''+';;;;;:''''''''';;;;;::::::::,,,,,,,::     
        .:::;;;;;:::::::;;;;;;'''''''''''''''''''''''''''+++++'';';;;;'''''''''''';;;:::::::::::,,:,:.     
        `::::;;;;::::::;;;;''''''''''''''''''+''''''''''+++'''''+'';;:''''''''''''';;;:::::::::::::,,      
          ,::;;;;;;;;;;';;''''+''''''''''''''''''''''''''''''''''';;:+'''''''''''''';;;;:;;::::::::,       
           ;::;;;;;;;;;;;'''''+'''+''++''''+++'''''''''''''''''''';;;+''';''''''''';;;;;;;;;;;;:;:,        
            ,:;;;;;;;;;;'''''''''++'+++++++''''''''''''''';';;;;';::++'''''''''''';;;;;;;;;;;;;;:`         
             `;''''''''''''''''''++'++++++'''''''''''''';;;';;;;:::#++++'''''''';;;;;;;;;;;';;;;           
                ,';';;''''''''''++'++++'''''''''''''''+';;;;;;;::,+++++++''''''''''''';;;;;;;;`            
                      .'''''''''+++++++''''''''''''''';;;;;;;:::;.'+++++++''''''''''''';;;;;,              
                        ''''''''+++'+'''+''';''''''+'';;;;;;::::    :''+'+''+''''''''';;;;:                
                         `'''''''''''''';''';;''''''';;;;;:::::         :';''''''''';;;;`                  
                           :;'''''''''';';';;;;;;''''';;:;::,:              `,,,,.`                        
                             ;;''''''';;;;;;;;;;;';;;;;;;;;:;                                              
                               ,;;;;;;;;;;;;;;;;';';;;';;;:.                                               
                                  .;;;;;;;,```,;;;'';;;;;`                                                 
                                                   `