````...,,:::::::::::::,,..`````                                                           
                                                    ```.,:::;;iii*ii**************iiiiiii;::,..```                                                    
                                                ``.::;iii***+*++*+++*+++**********+++**++++*ii;i;:,,.``                                               
                                            `.:;;ii**+*+++*ii;::,...```````````````...,::;ii*++++**ii;:,.``                                           
                                      ````,;i*i*++++i;:,.```````.,:::;;iiiiiiiii;;::,,.``````.,,:i*+++**i;:,.``                                       
                          `           `:;i**+++*;:.``  .:;*+#znzzzzz################zzzzz##*i;,``  `,:i+++*ii;:.      `                               
                                  `.,;*i*++*;,`` .:*+zxnzz##++++++#+++++++++++++++++++++++++#znnn#*;,```.:i*++*i;,```                                 
                                 `,i*+++i:.``.;*znnz#++++i;:,...,::;i*++#######+####++++###+++++++#zzz#i:.``,;*++*i:.`                                
                               `:i**+*;.`.;*zzz##++#+#*:.```.....`  ``..:;i*+++#####++++*ii#########++##zz#i:.`,;+++i:.`                              
                            ``,;*++i,`.;+zzz#########i.`.;+zznnnn#+i;``   ```.,,:::::,..``,################zz#*,`.:*+*;:.                             
                           `.;*++i.`,*znz###########;` :zxzz#zzzzznn*`.*;.`  `         ` `##################+#zz#;.`,*+*;,`                           
                          `,i+#*,`,+nz############z*` :xnzzzzzzzzz#,`,zxxxn*:.`        `:zxzzzzzz####zz##########z#i.`;++i:`                          
                       `` ;*+#;`.#xz########zzzzzzz.``nnzzz+:zzzzz. :xxzzznxMMn+i,...:*nMxzzzzzzzzzzzzz#zz#########zn;`.*#+:.`                        
                      ```;*#+,`;xz####zzzzzzzzzzzz# ``xzzn#`*nnnz.`iMz;;nnnnnnnxMMWWWMxnzzzzzzzzzzzzzzzzzzzzzzzz#####nz.`;#+;.                        
                       `:iz+.`*xzzzzzzzzzzzzzzzznn+` `*z#i`,Mxxz, iMn.i:innnnnnnnnnnnnnnnnnnnnnnnnnnznz;::+zzzzzzzzzz#zz:`:#+;.`                      
                       .i##,`+n#zzzzzzzzzzzzznnnnnz`  `.```zMnn;`:Mx+.z.+xnnnnxnnxxxnnnnnnxnnnnnnnnnnn*` ,xnzzzzzzzzzzzzz:`i#+:`                      
                      `;+z:`*nzzzzzzznnnnnnnnnnnnnn:  `  .#Wnn*` i**:`.:Mxxxxxxxxxxxxxxxxxxxxxnnnxxnn#.``zxnnnnnzzzzzzzzzz,`+#*,                      
                      .*z#`,nzzznzznnnnnnnnxxnxxxxnn;.`.;zni:.``...:;.,MMxxxxMxxxxxxxxxxxxxxxxxxxxxxn:``iWnnnnnnnnnnnzzzzz+`:z+;``                    
                      :+zi *nznnnnnnnnnnxxxxxxxxxxxxxnnMx;.::` :xMMMMn:#MMMMMMxMMMMMMxMMMxxMMxMMxxxx*` .Mxxnnxxnnnnnnnnnnzn,`##i.                     
                     `:#n:`znnnnnnnnxxxxxxxxxxMMz*zxxMMM#:xW: `zMMxMMxzWMMMMMMx;,iMMx++nMMMMMWxzMMMn. `zMxxxxxxxxxxnnnnnnnni +z*,                     
                     `;zn: nnnxxxxxxxxxxxxxxxMz: `iMMMMMMWW*` iWMMM#, `++`iMM+    +#`` .nMMx+.  `*M: `;WMMMxxxxxxxxxxxxnnnni`+n*,                     
                      :#n; #nxxxxxxxxMMMMMMxMn. .#WMMMMMMM#` .xMMx:  .*Mi ,x*``,` :``` `+Wx:``.,` +` .xMMMMMMMMMMMxxxxxxxnx;`zn*.`                    
                      ,*x+ ;xxxxMxxMMMMMMMMMM: `zWMMMMMMMn` `#WMM:  :xWW+ `i`,nx.  `#  .nn,  ;MW*`` `+WMMMMMMMMMMMMMxxxxxxn`.xni`                     
                      `;nx,`zxxMMMMMMMMMMMMMz  ;WMMMMMMWn,  ;WWW*  :MWMM+  `,xW+`  :W;,#z,``;WMMi ``;MMMMMMMMMMMMMMMMMxxxxi`+x#:`                     
                       ,+M#`:nMMMMMMMMMMMMMM*  +WMMMMMWn,  .MWWn` `nWMMW*  .xWM. ` ,WWx+.  ,WWMM: `.nWMMMMMMMMMMMMMMMMMxM#`:Mn*.                      
                       `:nM*`:xxxMMMMMMMMMMM;  *WMMMWWn,  `nWWWi  :WWMM@, `zWW*  :, i+:`   zWMMx. `+WMM*+MMMMMMMMMMMMMMM#.,xM+:                       
                        .;xM+`,xMMMMMMMMMMMWi  .nWWWW+`  `#@WMx`  *WMMWz` +WWx  `n*    .` `@MWW; `,WMMi`#WMMMMMMMMMMMMW+`,xW#;`  `                    
                         .;xMz.`+MMMMMMMMMMW+   `;+i`   `*@WWM:   ;WWWn``;WWW:  +@W+:in+  ,@WW*`  xWMi`+@MWMMMMMMMMMMx:`;WW#;`   `                    
                       `` .:zMM;`,+MWMMMMMMWM.      `  `*WWWx:`:` `*z*. ,MWW+  :WWWWW@@+  `xn;`  ,@x;`iWWWMWMMWWWMWx*`.+Wx+:``                        
                           `,*nWz,`,+xWWWWWWWz.    `  .#WWWWx,*M:  ``` ,MWWx.``x@WWWWWWn.  ```,` `i.`+WWWWWWMWWWMzi..ixWz*.                           
                             .;#MM#:..inMWWWWWx;.``.,*xWWWWWWMW@x,` `.iMWWWi``*@WWWWWWWW+`  .*x:` `,#WWWWWWWWWx#;..inWx+:`                            
                              `,izMMz;.`:*nMWWWWMnzxMW@WWWWWWWWWWM#*+xWWWWMzzzWWWWWWWWWWWz**nWWnii+MWWWWWWMM#i..,*xWx#i.                              
                                `,i#xWM+:`..i#MWWWWWWWWWWWWWWWWWWW@@@WWWWWWW@@WWWWWWWWWWWW@W@WWWWW@WWWWWx*:``.inMWx#;.` `                             
                                  `,;+z@@Mz;`  ,i#x@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@Wn+;.  ,*nW@Mz+;`   `                              
                                     .,;+zM@@x+:.```.i+zxMWWW@@@@@WWWWWWWWWWWWWWWWWWWW@@@@WWMMn#+:`  `,i#W@@Mn+;,`                                    
                                       `.,:*#xMWWM#*:.````.,;i*++#zxxMMMMMMMMMMMMxxnz#+**i:.`````,i*zMWWMn#*;:``                                      
                                         ``.,:i*#nMMWWMn#*i:,.``.`````............``````..,;i+zxMWWMxz#+;:.``                                         
                                             ``.,,;*+#zxMWWMMMMxz#++***iii;;iiiii**++znMMMMMWWMnz#+i;:..`                                             
                                                  ``..,:;i*+##znxMWWWWWWWWWWWWWWWWWWWxnnzz#+*i;:,.``                                                  
                                                        ```.,,:::;;i**++++++++++**ii;;:::,.```                                                        
                                                                         `````