`                                                                                                                     
                ``,;**##z#nz++*+;::.                                                                                                                  
               `i##zzzzzz#zzzznnnnxn#+i.                                                                                                              
              .#n+*+++++++++++++#znxnnnz+;`                                                         `,;;;;i;:````                                     
             ;nz+++++++++++++******+#nn;*zz*.                                                   `;*#nnzznnnnnnz+*,`                                   
           `in#*++++***********+*+***+znii*n#:`                                               .*znn#++**i****+#zzz*:``                                
          .#n#**++**************+**+***nnzznnz+.                                            `*zz#**i******iii*iii*##+,.                               
         .#n#++********************++**#nii+nnz#.                                          :zz#*ii***********#zzz#++#+i.                              
        ,zn+**************************++ni:+nnzz#`                                        ;nz*i***************++#znnnnz+,                             
      `.zn++****************************n++ziinzn*`                                     `*nz*i*********************++zzzz+;`                          
      .zz+****************i*i****i******zn#:,:#n#n:`                   ..               ,zz*************************i*i*+zn+,                         
     `#n+***************iiiiiiiii*******#n::,:#n#z#`       `.,,.`    `,::.           ```+z*****************************ii**zz;`                       
    `#n++********+znnnnn#iiiiiiiiii*****+n*::+*zz+zi`      .::::,`  `::::,`        `***+n#****************************iiiiii+z*`                      
   `*n#********+zxnz###znn*iiiiiiiiii*+**n*:i#:*n*#n,      `:::::,``,::::,         ;+;i+n+*****************************iiiiii+z*`                     
  `iz#*******+#n#;,`   `:#n*iiiiiiiiii***z+:z;:in++ni      `,:::::.,:::::,         i+ii+z+******************************iiiiii*zi           `.``      
  .z+****+**+n#,         .+ziiiiiiiiiii**##+i:,ix+*#z`      .::::::::::::.         :#**+z+*********++********************i*iii;*z,           ,;.      
  +#*******#ni`          `.n+iiiiiiiiii**#n+::,in#*+n,      `,::::::::::,`         .++*+z#********#nn+********************iiiiiiz+`          `:*.     
 ,z+******#n;`             *#iiiiiiiiii**+n#:;i*n#**z*       `,:::::::::`           ,#++#z+******#n+zz*********************iiiii*n:          `,**`    
 *#+**+**+n:               i#iiiiiiiiii***nnnnnxn#**+n`       .::::::::,    :ii:.`  ,+z####+++**+n#:#n**********************iiiii#+`           ;#,    
`z+***+*+z*`               +#iiiiiiiiiii**znnz#znzi**zi        .::::::,`   .znnnzz**nnnnnnnnnnzznni:+n***********************iiii*z.           `+*`   
:z+***+*#z`               ,n*iiiiiiiiiii*+n*::,*nzii*#z`        `,::::.    .z#;i*+zz*ii;;;iiii+zznnzzn+***********************iii*n;            i#,   
*#+*+*+*n:               `#*iiiiiiiiiiii*+n;,,,;zzii**n;         `,::,      *z;::;#i::;;;;;:::::;;i+znz#***********************i**ni            ;#i.  
#++*++++z                *#iiiiiiiiiiiii*#z::,:;nziii*z+           ``       .z#;:*#:;+#zzzzzz#+*i;::;*#nn#*********************iiiz#``          iz+;` 
n***+**#*               ,ziiiiiiiiiiiiii*z#,:,::nn*ii*#z.                    :z+inz*#znnnnnnnxnnnzz+;::izn#*********************ii##:.         `+z+i: 
n*****+#i               +#iiiiiiiiiiiiii+ni,:,,,zn*iii*z,                     innn#++###+#+####zznnnnn#*;*n#*******************iii#z;.         ,#z*ii,
n******zi              :n*iiiiiiiiiiiiii#xi:,,:,#n*iii*z:                    ``zn#+++*************++#znxz++zz+##++**************ii+z;`        `+z#iiii
n******#+     ``      `z#iiiiiiiiiiiiiiizz#z*::;*n+iiii#*      `.` .`        `*n+******i*iii***iiiii***#znn++++#znnz+************i+ni`       .*zz*iiii
z+*****+n:` `,+`      ;n*iiiiiiiiiiiiiiin*:i#z*+*n+iiii*z`     `:.,:`        ;n#********+++++******ii*****znn#;;;i+#n#***********i+ni.      .i#ziiiiii
+#******+nz+##+      `z+iiiiiiiiiiiiiii#z;,::*znnx+i*iiiz:      ,::.        :zz*++++++++++++++++++++**i****+zz*iii*#nz*************n+,  `  `izziiiiiii
:z*+******++*#:     `*ziiiiiiiiiiiiiiiiz+:,,,,,i#n+iiiii#*      `::`       .zn+++++++++++++++++++++++++******zznnnnnz+*************z#:` .,,#nziiiiiiii
`*z+*******+#+`     :n*iiiiiiiiiiiiiii*ni,:,,::::z+*iiii+z       ``       `+n#+++++++++++++++++++++++++++**+i*##++++***************+n+;;iznz+iiiiiiiii
 .#z+*****#n*`     `#+iiiiiiiiiiiiiiii##:,,,,,,,:z#*iiii*n.               in#+++++++++++++++++++++++++++++++*i##********************#nnnnz+iiiiiiiiiii
  `inzzzznz:`      *ziiiiiiiiiiiiiiiiiz*,,,,,,,,,+#iiiiiiz;`             :nz+++++++++++++++++++++++++++++++++**z+*******************i*+**iiiiiiiiiiiii
    `,::,.       `,n*iiiiiiiiiiiiiiii*n;:::::::::*#iiiiii#+`            `zz++++++++++++++++++++++++++++++++++*i#z+*******************i*iiiiiiiiiiiiiii
                 `##iiiiiiiiiiiiiiiii+##nnzz###+**ziiiiii+n`            *n#+++++++++++++++++++++++++++++++++++i*n#*******************i**i*iiiiiiiiiiii
                `;ziiiiiiiiiiiiiiii*izi::::;i**+#nniiiiiiin,           :n#++++++++++++++++++++++++++++++++++++*i#z+*********************i***iiiiiiiiii
                ,n*iiiiiiiiiiiiiiii**n:,,,,,,,,,:iniiiiiii#i          .zz++++++++++++++++++++++++++++++++++++++i*z#+************************iiiiiiiiii
               `##iiiiiiiiiiiiiiiiii##,:,,,,,,,,,;n*iiiiii+#         `#z+++++++++++++++++++++++++++++++++++++++ii#n+**************************iiiiiiii
      `.,      iziiiiiiiiiiiiiiiiiiini,,:::i:,::,;n+iiiiii*n.        ;n#+++++++++++++++++++##znnz#++++++++++++++**nz****************+zn+*******iiiiiii
      ,nn#:`  .n*iiiiiiiiiiiiiiiiii*z,:,,,:n:,,,,:n#iiiiiiiz:       .z#+++++++++++++++++##znnnz*+z++++++++#nz*#nn*nn+**************#nxnz*********iiii:
      *nnnn+``##iiiiiiiiiiiiiiiiiii##;:,::;n;,,,::n#iiiiiii#i       +z++++++++++++++++#znnnz#n+;*z+++++###nznzn*#znz+*************+nxnn#**********iiii
      +nnnnnz*#iiiiiiiiiiiiiiiiiii*nn+##+;*n;,:::,##iiiiiii+z`     .n#+++++++++++++##znnz#+++nz;in#++#znnnz;zn*;zx###+************nxnnn+**************
     `nnnnnznn#iiiiiiiiiiiiiiiiiii*z;::i#nxni,,,,,++iiiiiii*n,     ;n*+++++++++++++#n+zz+++++zni;nzznnz*+n*;#zi#nn####++*********zxxxnn*******+++++i,`
     .nnnnnzznn#iiiiiiiiiiiiiiiiii#+,,:,,:nnnzi::,*+iiiiiiiiz;`    *z*#+++++++++++++n*+n++++++n#;zz#*i;:+z+*znnnnz#++##++******+zxxnnxn**********ii:, 
     ,nnnnzzzznnn*iiiiiiiiiiiiiiiiz;:,:,:;nn#izz+;iziiiiiiii#*`    ;zzxz++++++++++++z#in#+++++#n*#z;;;::+zznnz###z++++##++++#znnxxnxnn#************;, 
     ;nnnnnnzzznnn+iiiiiiiiiiiiii*z,:,:,:*nn#::i#n#n*iiiiii*+n+. `;#nnnn++++++++++++zn;zz++++++znzz+z##zn#*+**z#+z####znnnnnnnznxnz##n+********iii+i` 
     ;nnnnnnnnnnnnnz*iiiiiiiiiiii#+,,,:,,#nnz,,::;nx+iiiiiii*n+n##nnnnnn##++##+++#zzzn*+n++++#nnnz++zzzz#*****++#nnnnnnnnz#++*znz***zz*****++*iiii*#. 
     ;nnnnnnnnnnnnnnn+iiiiiiiiiiiz*:,,,,,znnn;;ii:;n#iiiiiiiiz:znnnnnnnnnnzznnz++nz+*zzin##znnz#++**********++****+++*****i**znz***zn+***+#z++iiii+#` 
     ;nnnnnnnnnnnnnnnn#iiiiiiiiiin:,,:::;nnnxnznxnnn#iiiiiii*znnnnnnnnnnnzznzi**#n;;;+ni#znnz+********+++++++++++++++******+znz***+nz**+##z#*+;i+#z*` 
     innnnnnnnnnnnnnnnnz*iiiiiii+#,:i*+znxxnxi:;:;;+ziiiii*#nnnnnnnnnnnn**+n+;:;+n+++*n##z#+*****+++++++++++++++++++++++++znnz+**+nn++zz*;zi**:i+*;.` 
     #nnnnnnnnnnnnnnnnzzz+iiiiii+zznn#iiznnnni,,,,,;niii*#nnnnnnnnnnnnn+;;in*i*;;#zz++zz##+++++++++++++++++++++++++++++++znnz+++#znzzz+;:+z;+iiii:,`  
    `znnnnnnnnnnnnnnnzznz+ii+#znz*+n*:::nnnnni:,:,,,z*i+znnnnnnnnnnnnnn#ii+nnnz*++++++++++++++++++++++++++++++++++**++++#nxz####nnnz#;::izi;#i**:,`   
     znnnnnnnnnnnnnnnz#**+#nn#i;,,,;#z*;nnnnn+:,,,:,++i+nznnnnnnnnnnnnnz#+++##+++++++++++++++++++++++++++++#++++++,,+++#nnnzznnnnz+;:::;z+;i+`...`    
     #xnnnnnnnnnnnzn#i*+z#*;:,,,,,,,,;znnnnnn#:,:,,,i#ii#nnnnnnnnnnnnnnz#++++++++++++++++++++++++++++++++++++++**;,.:+zxnnnnnxn#*;:::::z#;:+i `       
  ` :nxnnnnnnnnnnnn+i#*,:,,,,,,,,,,,::,zxnnnnz:,,,:,:#*iiznnnnnnnnnnnn#++++++++++++++++++++++++++++++++++++;+,:,i,+i+znnnxxz+i;:::::::#z;::#:         
   ,z#nnnnnnnnnzzz**z*,,,,,,,,,,,,,,,,,nnnxxzn::,,,,,;#*i*nnnnnnnnnnnn+++++++++++++++++++++++++++++++++++++.:,,;i:+#znnnz+i;:::::::::#z;::iz`         
  `z#innnnnnnzzz#i+n+,:,:,,,,,,,,,,,,,:nnnnnxn;,,,,,,,iz*i*nnnnnnnnnn#+++++++++++++++++++++++++++++++++++++,iii*;++nxn+;::::::::::::zz;:::+*          
 `+zii#nzznzzz#*i+zi,:,,:,,,,,,,,:::::innnnnnxni:,,,,,,iz*i+nnnnnnnnn++++++++++++++++++++++++++++++++++++++*++++++#n#i;::::::::::,iz#;:::;z,          
`in*ii*nznnn#*i*#z:,:,,,,..:;i+#znnnnnnnnnnnnnnn+:,,,,,,*z*i+xnnnnnnz+++++++++++++++++++++++++++++++++++++++#zzzzzzi:::::::::::,:*z+:::::+*           
:z*iiii*nx#*iii#z:,:,,,:i#znnxnnnnnnnnnnnnnnnnnnn#:,,,,:,+zi*#nnnnnn#++++++++++++++++++++++++++++++++++*#znnnnz#n*;,::::::::::,:#z*:::::iz.           
z#*iiiiii+*iiiz#,,::,,,:##znnnnnnnnnnnnnnnnnnnnnnn+:,,,,,,+z**znznnz+++++++++++++++++++++++++++++++++#znnnn+*+z+n*i;::::::::::iz+;::::::#;            
+iiiiiii*iiiiz#::,,:,,:znnnnnnnnnnnnnnnnnnnnnnnnnnnz;,:,,:,+zi*nnnn++++++++++++++++++++++++++++++#znnnnn+zn#iizzniii::::::::;++;::::::i#i`            
iiiiiiiiiii*##:,::,,::znnnnnnnnnnnnnnnnnnnnnnnnnnnnnn#::,,::z#*#n+#++++++++++++++++++++++++++++#nnn+i+nnz*nn#+nnzii*::::::;++i:::::::iz*`             
iiiiiiiiiii#z:::,,,:;nnnxz*znnnnnnnnnnnnnnnnnnnnnnnnnnn*:,,,:n#*nzi*++++++++++++++++++++++++*#zznn#,::*nn#+nnxnn+ii*i::,:i+*:::::::i##;`              
iiiiiiiiii#n;::,,:,;nnnnxz;i*znxnnnnnnnnnnnnnnnnnnnnnnnnzi,,,izi*n#+i*+++++++++++++++#z#***+#+iinni::::nnn++#nzziiii*,;;ii;::::::i+z+,                
iiiiiiiii+ni,,,,,:;nnnnnnz;;ii+nnnnnnnnnnnnnnnnnnnnnnnnnnni,,:++zz#nz#******+++++##znnnzn+#+;::;nn;:,,:znn*#+#iz*iii+:*i::i##;i+##*,`                 
iiiiiiii*n*:,::,,;znnnnnnni;;;ii#nnnnnnnnnnnnnnnnnnnnnnnnnn::,+n#::i+znnnz#####znnnnznn**n+:::::zni:,::znz;#++*#+iii+;::;+zz##+i:.                    
iiiiiii*z+,:,,,::znnnnnnnn+;;iii;*#nnnnnnnnnnnnnnnnnnnnnnnn:,,+ni::::;++#znnxnzxx+i;;#n+:i;:::::+n#:,::nn#.+#z#+#iii+*::i#i+#.`                       
iiiiii*z#:::,,::#nnnnnnnnnni;;iii;izxnnnnnnnnnnxnnnnnxnnxnnz,,*n,.,,,;+ii#*#n+:xn:::::nz::::::::;zni:;znni i#*i+zi;i#z+ii#iiz.                        
iiiiii#z:,,,::;zxxnnnnnnnnxz+;;i;i#nnnnnnnnnnxnxnnnnnnnnxnnzi,*n+;,`.,#ii#**n*.nn;,,,,zn:::::,...:znnxnz+.,+nii+ziii#z+#z#i;#i                        
iiiii+z::,,,:,#nnnnnnnnnnnnxnz++znnxnnnnnnnnn*i**iiiiii+nnnni,*#+zz*:,z#*##in*`#n+,,:;nz:,........,*#zzi;:**n*i*n*;ii#*i#+;iiz.                       
iiii*n;,,:,::*nxnnnnnnnnnnnnnnnnnnnnnnnnnnnnn#iiiiiii;*nnnnn*,*+:;i*++zznnz#n#`;nn+:;zn+.............ii:;:::#+i*z+;i;++i+zi;;#i                       
iiiiz+,,,,:,*n+nxnnnnnnnnnnnnnnnnnnnnnnnnnnnnn#i;;;;i#nxnnnn*,++:::::*z*#xnnn+:.*nxnnnn:.....`.......+,*,i,;*#i*z#;;i*ziiz#i;;#.                      
**+n#::,,,,*n#znnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxnz##znnnnnnnn*,*ni::::;zii+nz+*z;.innnn*.....``......:*,i:i,:;ziizniiiiz*i+n+;;+*`                     
+##+:,,::,innnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxnnnnnnnnn*,+nn+:::iziii#z,+z+i,;i*;..............+:i,i:;.:zii#niiii#*iizz*ii#,                     
:,,,,,,:,innnnnnnnzzzzzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnni,+#*nn+*+n*ii*z*:+z#*i..........;+zn#,,*,*.;,,..z*i#niiii++;i+zn*;*+                     
,::::,,:inznzz#+++*+++********++#nnnnnnnnnnnnnnnnnnnnnnnnnnn*,+#i*#nnnn*iii+#:#;*i,:,......:zxn#:*;..::......#+i+n*ii*+n*i*zzn*i#:                    
,,,,,::in#+zz++++++++++*++***++*#nnnnnnnnnnnnnnnnnnnnnnnnnnn*,+#iiiii+n*iii+z**,+;,;......,nxxn:,#:..........##i*nnnnnznzi#nnnn#*#`                   
,;ii;:*n#+++nz++++++++++**+*+***znnnnnnnnnxnnnnnnnnnnnnnnnzni,++iiiii+n*iii##+::+,::.......inn+,:z..........i##iinnz,,.#zin*:i+x++i`                  
,###znn+#n++#n#+++++++++++**+**+nnnnnnnnnnn#zznxnnnnnnnnnnnx;,++iiiii+n+iii#zi,:;,;.........,##i#;````.....*+*ziinzz.``+nini`.:nn#+.                  
,##*++++zzn++zn+++++++++++++***#nnnnnnnnnnz*++++#znnnnnnnnnn;,#+iiiii+n+iii#n:..,...........`.:;,.``.....,+#i*niizzn,``*n*n:`.*z#nz+`                 
:n++++++#*+n++nz+++++++++++++**znnnnnnnnnnz++++***+#zznnzznn;,#+iiiii+n+iii*n+..............`....`````..i#z+i*ziinnn:`.;n*n,``##;+nn;                 
:n+++++++z:zz++nz++++++++++++++nnnnnnnnnnnz++++++++++++#znzni,#+iiiii#n+iiiizn+:..........````````````.*n###iiz*nxzn*``,x#z``,nzii+nn:                
:n+*++++*n::zzzzn+++++++++++++znnnnnnnnnnnz+++++++++++++***n;,z+iiiii#n#iiii#zzz+;,....`..```````````:+zni+ziizzn#+zz,,:xn+,,;nn*ii*nz:               
:n#+++++*n;::zz:+z++++++++++++nnnnnnnnnnnnz++++++++++++++#zn;:n*iiiii#n#iiii##i#zzz#+*;:,....``````,i#+*z*+zi*nn#++#n;::nn+::+nzziiiizn:              
,+n++++#zn*::;z#:zz++++++++++#nznnnnnnnnnnz+++++++++++++zz+ni;niiiiiizzziiii#ziii*#zznnznz###++*;,;**i:innnn+znn++++ni::zxi::z#zn+ii;izni             
::n#znnz*+z::::#+;z**#z#+++++#n##zznnnnnnnz+++++++++++#nn*iniiniiiiiizzziiii+ziiiii+****+z####+#i:;::::;n**nz#+#++++n+::zn;:;n++zn*iiii#ni`           
:,+z+;:::;ni::::*:;**#zznnnzzzn;::::;*+#nnnz+++++++++#nz*iizi*z;iiii*z#ziiii*ziiiii#*iiiiz+ii;;+:`.....*nz*nnn++++++z#::#z::#nzzzn#iii;i#ni`          
,,in#:::::n+::::z::::;,::;i*##nz#++*;;:::+nn#+++++++zn#*+znn**+;iiii+#+niiii*z*iiii#*iiiiz#i+znn*`..``,n*#znzn++++++#n,:;;:#z*,znnn*iii;i#z*`         
,::nz+::::+z:::;z:::i+:,,:::n;+z#zznnnnz+#nnzz#+++#nn++zz#*z*#*iiiii##*n*iiiiz+iiii#+iiii#z#n+;#z,````+z::;;n#++++++#n;::izn,..,#nnziiii;i#ni`        
,,:n#ni:::;n;::#+:::#i;**::;n:+#+++++###znnn+;*#zzz#::#z*iini#iiiiiiz+in+iiiiz#iiii+#iiii+zzn;,#nn;``,n*:,,#n+++++++n+;*zn#ni``.in#n#iiiiii#n:        
:,:n#+z::::#+:in;::*#;z*++:iz:##+++++++++n;#i,,,;*;+;::*nz*n*#iiiiiiz+iz#iiiizz#+ii*#iiiiiznn::z#*zz++n:,:;n#+++#z++n+zn#i:+z,.;nz+zn*iiiiiizz,       
:,:nnnnnzz#*z*z*::;ni#+::#;*z:z#++++++++#n:z;::::::i#::,:+zn*ziiiii*z*iz#iiii#n*+z**z*iiiiznx;#n;::#znn+::nz++++#n+#nz*;:::in*inzn#in#iiiiii*n+`      
,,:zzii**;in;+i:::##:z;::#i+z:z#++++++++#n:n;::;::::zi:::,:#+ziiiii#zii#ziiii+n,,iz*z+iii*n#nz#+:,,,:i##:*n++++++zz#n;:::i#n#+ni:nn*+n*;;ii;i+ni      
,:,+z:,::::zi::::*n;:#+i*z;*#:n+++++++++#z;n:iznz;::++::i#+zz#;;ii;#zii+n*iii++,.,*zz+ii*n#+++zn+;,,,:i#;n#+++++*+n#n:::znn*;ni..zn#;zzi;iiiiizz.     
::,*zz;,,::#*:::in*:::+z#;:+#:n**++**+++z#iz:+#:*#::;z:;+i+znnn#*iiz+ii*n*iii#*,,,,zz#iizz++*++#zn#i:,:znz+++++iii#zn,,.;+n*z+.``*nni*n+iiii;i*n*     
+:,iz+ni,::#+::inz:::::::::+#in++*+*+*++z#*#:*#:;#:::#iiz:::::i**i*n*iiin#iiiz;,,,,*zzizz+++++z+++znz+:#n#+++++iii*nn:.``.*zz,`..inzzi#zi;iiiii#z.    
zi,;z+#n;,:#+:;nn*;::::::::+#in**+*+++++z++#::#zzi:::*#;ni::::;+*i+ziiiinziiiz;,,,,;nn#n++++++n#++++##zzzz++++*iiii#n#,..`....`.:zn#n#in+iiii;iin*    
;z;iz+#nn+;zzizz##nnnnnzzzzz*;zzzzz###++z+##:::;;::::;z:#+::::z*iizzi***zn*ii#;,,,,:nnn#++++++zz+++++++;in+++*iiiii*znz;```.,*+zn+###n*#niiiiiii#z.   
`+#;n+n##n#nnnz##*i**+#+##z#+****+#zznnz#in*::::::::::#i*z::;#*iiin#zzznnx+**#i,,,,,nxz+++++++#z++++++z;:n#++*iiiiii#nzn+;*znnz#+:##+nzin+iiiiii*ni   
`,ninzz**#n#+nz#++++++++++++#nnnz#*i;;ii::ni:::::::::;+i:z*zn;;ii*n#*,,:*nnnxx+,,,,;xz+++++++++#++++++z*,#z+*iiiiiii#n*#zzzz+,.*#:##+#n+#ziiiiiiizz.  
  innn+*****+n#+++++++++++++#z+#zznnnnnz#+*znzzz#z#zz+##+##nniiii#z*+,,,,:nxzini,,,#n+++++++++##++++*+z+:in**iiiiiii#n++++++zz:+#:##++zniz#iiiiii#n+` 
  `zn#*****+nz++++++++++++++z#++++++++##zn#+####++##+i+#+zznniiiiz#iz:,.,,z+n#ni,,+n++++++++++z#+***ii+z::z+iiiiiiii#n+++++++z###:##+++n##n*iiiii*nz: 
  `*n+****+nz++++++++++++++#n++++++++++++z#++++++++++++n++zzziii*n+i++,,,,i##xx#+#n#+++++++*++n#*iiiii*n::#ziiiiiiii#n#+++++++zzz:z#*++zn#n#iiiii*nz#`
  ,n+****+nz+++++++++++++++zz++++++++++++z#++++++++++++z#+nn#iii+niiini,,,,*#z*z#nz+++++++**+#n+iiiiii*n;:*n*iiiiiii+n#+++++++zn+;n#**++nzzniiiiiin#z:
``##****#n#++++++++++++++++n#++++++++++++#z++++++++++++#n+zn#iii##i;i*zi,,,,,#*+nz+++++++*i*+#n*iiiiiiiz*,:n+iiiiiii*n#+++++++#n*;n#*i*+#n#n*iiiiiz#++
 *n****+n#++++++++++++++++zz+++++++++++++#z+++++++++++++n+#n#iiin+;;iizn*:,,;nznn+++++++*ii*+#ziiiiiiii##,,#ziiiiiiiin#++++++++n*;n+*i*++n#zziiiiin#*n
.z+i**+n#+++++++++++++++++n#++++++++++++++n+++++++++++++z##niii+n*;;iiz+#zzznn#n++++++*iiii*+z#iiiiiiii+n,,;n*iiiiiiinz++++++++n;in+*ii*+#n#niiiiiz#i#
#z#;i+n#*++++++++++++++++#n+++++++++++++++n#+++++++++++++n+niii#zi;;i*ziii+z:#n+++++++*iiii*+z#iiiiiiii*n:,:z#iiiiiiizn+++++++#n;*n**ii*++n#n+;iiiz#i+
zin;+n#*+++++++++++++++++zz+++++++++++++++n#++++++++++*++n#n*iiz#iiii+zii*+n*nnn+++++*iiiii*+n#iiiiiiii*z;:,*n*iiiiii+n#++++++#n:*n*iiii*+#znziiiin+ii
;:#znz*+++++++++++++++++#n++++++++++++++++zz+++++++++++++#nn+iin+iiii##ii#;+xn+nn+++*iiiiii*#n+iiiiiiiiiz*,,:n+iiiiii*n#++++++zz:zz*iiii*++z#niii*n+ii
::*n#*++++++++++++++++++zz++++++++++++++++zz++++++++++++++nnzi*niiiiiz#ii#+#nnz+n#+*iiiiii**nn+iiiiiiiii##,,:#ziiiiii*nz++++++nz:n#iiiii*++++n*ii*n*ii
:*n#*+++++++++++++++++++n#++++++++++++++++#n++++++++++++++#nn*#ziiiiiz+iiinn+#n#+*iiiiiiii*zn##iiiiiiiii#z:,:*n*iii*+#zn++++++n#in*iiiii*+++*n+ii#niii
+n+*+++++++++++++++++++#n++++++++++++++++++n+++++++++++++++nz#z#iiiiiz*ii*n#+++++*iiiiiiii*x+in*iiiiiiii+n:,,:z+ii**+#+nz++++#n+*niiiiii*++#in+;izziii
n#*++++++++++++++++++++n#++++++++++++++++++n#+++++++++++++*znnn+iiii*z*iizz+++++*iiiiiiiiizn+i+n*iiiiiiiini,,:*n*i****izn++++zxizziiiiii*+#zin+i*n+iii
#*++++++++++++++++++++#n+*+++++++++++++++*+n#+++++++++++++++n#n+iiii*zii#n+++++*iiiiiiiii+nznii#z*i*iiiiin*:,:;x#iiiiii+n#+++nn;n#iiiii*+*zzin+*zn*iii
n#++++++++++++++++++++zn+++++++++++++++++**zz++++++++++++++*n#n+iiii+zi#n#++++*iiiiiiiiiizz*n#iizn+iiiiiiz#,,,,#ziiiiiiizn+++nz*n*iiiii***n#in++n#iiii
+nn#++++++++++++++++++n#+++++++++++++++++**#n++++++++++++++*#nzziiii#z+nz++++*iiiiiiiiii#n*i*n+i+zz*iiiii#z:,,:;n*iiiiii+n#+#n+n#iiiiii**+n#*n+zn*iiii
;i#nz++++++++++++++++#n++++++**++++++++++++#n++++++++++++++*+n#n*iii#nnn++++*iiiiiiiiii*nziii#n+i+z**iiii*n::,::n#iiiiiiizn+zn*n+iiiiii*#nn##zzn+iiiii
:::*nn#++++++++++++++nz+++++++*++++++++++++#n#+++++++++++++**zz#ziii#nz++++*iiiiiiiiiii#nz*iiizn+z+*iiiii*n;:,:,*ziiiiiii*n#n#zz*iii*+znn#*+nnn#iiiiii
:::;*nnz#+++++++++++#n++++++++*+++++++++++++n#+++++++++++++#znn*n+iizn+++++iiiiiiiiiii+n#zz+iiiznz+*iiiiiiz*,,:,;n+iiiiiii#nn#n*i*#znnz+*ii#nnz+iiiiii
::+z#n##nz++++++++++zz+++++++++++++++++++++*nz+++++++++++znnz+n++niznz++++*iiiiiiiiiiinzii+zz#*+n++*iiiiiiz#,,:,:#ziiiiiiiiznzz#znnz+*ii*+znz+i#ziiiii
*:#*:iz:*nnz++++++++n#+++++++++++++++++++*++zz++++++++++zn##;;#z*znz;+#++*iiiiiiiiiii+n*iiii+zznz+*iiiiiii#n,::,:in*iiiiiii*znz#+**iiiii+#+**iii#n+iii
z**#i++::;+nz#+++++#n++++++++++++++++++++++*#n++++++++#zzi;nnnzn#nn+:iz#+*iiiiiiiiii*n#iiiiiii*n#**iiiiiii+n:,,:,:n#iiiiiiii**iiiiiiiiiiiiiiiiiii+nz*i
+z**#+:::::iznz++++zz++++++++++++++++++++*++#n+++++++#n#:::zii*#zn*:,;+z+*i*iiiiiiiinn*iiiiiii#z+*iiiiiiii*ni,,,,:+niiiiiiiii*+++++iiiiiiiiiiiiiii*zn#
+#z+:::::::::*nnz+#n++++++++++++++++++++++**+n#++++#nzi::::+#,*nn#*:,,:z+*i*iiiiiii#n#iiiiiii*n#*iiiiiiiiiin+,:,,::n+iiiiii+znnnzznn#iiiiiiiiiiiiiiizn
++#n+::::::::::+nzzz++++++++++++++++++++++**+nz++#nn*::::::*zizx###;:,:*z*iiiiiiii*nz#iiiiiiizz**iiiiiiiiii##::,,::#ziiii*#nn*:;::;*zn+iiiiiiiiiiiiii*
+++#n#;:::::::::izz+++++++++++++++++++++++*++zz#nnnn#::::::;nnnn++z#::,,##*iiiiiiizn*ziiiiii*n+*iiiiiiiiiii+z::,,,:in*ii*zn*:,:,,,,::+n#iiiiiiiiiiiiii
++++#zz+i:::::::::*++++++++++++++++++++++++++#nn#i#;#*:::::*nn#nz*+ni::,:z*iiiiii*n#i#ziiiii#n**iiiiiiiiii;*n:,,,,,:z#;izz;:,::,,:,,:,+x+iiiiiiiiiiiii
++++++znz*;:::::::;++++++++++++++++++++++++++#n#ii#,*+:;i+znn#+#n**zz;:,:*#iiiiii#ziiizziii*n+**iiii*++**;;;ni,,,,,,+ni#z;:,::,,,:::,,,zziiiiiiiiiiiii
++++++++zz#+i;i##;:iz#+++++++++++++++++++++++zzi::#zz;i#nnz#+iizx+**z#::::z*iiii*n*iiiizn#+zz**iii*znzzznn+:n*,,,,,,:nzn;::,,,,;znnn#i,*n*iiiiiiiiiiii
++++++++++#++z#*##;;*n#+++++++++++++++++++**#zi::::;i#nn#+#z+;#izz*+nn#:::*#iiiizziiiiii*+#n***ii#n#;,,,;+z###,,,,,,,#ni::,,::iz#+*+#n#;n*iiiiiiiiiiii
+++++++++++++++*;#*nz+z#++++++++++++++++++*#z+;::i*znn#++++n*+#:*nznn#n#::;++ii*z*iiiiiiiiz#i*ii+ni,,,,,,:;znz,,,,,,,*ni,,,,:;n#iii*i*zzniiiiiiiiiiiii