2jj{{":::@@@NNNzzjjj::.' '.                               .:.                 
 j\"j"::@@:@QQ@Qzaj::: Q.:.._._.___..':                                        
 \"j""":::NZZQgg _zgzQgB+`p:@:@::j<Co<:g_.,                                    
 """:::::NZg22.gQgZEgC;Qjja:;::jgQ:\jju:Jwqg,                                  
 ""j":"::@@Nz.gQaoKwsj22...'' ''':@{ZuQzzzzjz_                                 
 :::::::NNNaz{QQnnj":j/a.. ' ' .;:.{gugQu2Qg2a;                                
 :::QN@ZZQ@@@(Qpf{"::@Qj.''' ' .:@{\{zQzzgzaQ2\                                
 @@Zzaa2zgN@QNqh\:j:@@Qa:;.'.''''g:jQQzgzggzzQQ                                
 Qg2jajaa222:zQx:{"{\:@2j:::;' ..j.{QazZQZgggaQ,                               
 Z2jjjj:jjj:;{Qro:jj"":@2jjzjjjga:uQQzzzZZgza2Q                                
 2aa::;:;;::,+@Zjzq:"::@QQza@@Zg~":ZzazZgguaa2u;                               
 a:j;:;;.::Z,@jQpZN@:Q:a:jjg@gjj@N_.:2dwuQQXQgQ                                
 j::.;'.;;;; @zzZajjj2ZjjjQ.::QN~{3zE?! ez_L__g                                
 ::;...'.;..:aj:;''::2:::jg@{;z2q.gQr:    @Q222                                
 :;..'''. ' .   gj:.;;jjj:jZ:u5.QQ2B;@    (ua2Q_,                              
 :;.'. j '   ':::j;.;'jq.,Qa@:::7Gxg}2    j@Q222z ;                            
 ;'.gz;'  ' '  .  .;.`gg+(:@wQj2@{g`:;.' ,quq2aaQL,                            
 .:.z'   ' '  '  ' :@z,q:rjL:@NQw=`a,q._qQp@Q2uaza\                            
 Z~N j  '  '        :Ng:(!./p{ZjaQ..zqzCdoh_QqzgggQ\,   '  ;'                  
 ''';'    '         'w` jq1!:q:{.Qzgro\:4NzggzzggZg\\       ;'                 
        ' '          ' ;';:j{:qzgzQQzg#@gQZZQQQZQggg_,j   ;  :;                
     ' ' '             ;2p<.ggQzgQQQQgQQgZQQQQQQZZggaQ;    :'.;.               
  ' '   '              ; Z{duQazZgZgQQZQQQQQQQggggggzz\,.  ':'.;'              
 '        '             ;j@{qqauzn2zgzggZgggaazzggzaz2u2p   .; ':              
  ' '        '           ;/~j7@Zgx;gZQ2zgggazazZQQgguQQZ2z.  :'  .             
    ' '       '          ..::`/{pk:qgaQaagzgggZgggzza2j2Q2\;,@   :;            
      .;       .'.         .w`:</;!~gw2u2ggZgZZggaq2gQaQzzzag.: ;j .:.         
 '''''..        ';;         :,:q{{\:X\z2gzzZgZZarqu@ggazagzaaQ::,j'.2Qj        
 ;:' '..        ''.;;        ';:PqQQ;@2zzggaZggzQgQzggQ2zzgggaQQ:,j '2aj       
   j:. 'j'        ';ja:       ':q@Q2QjauzzauaaaXQjggp@QaazzzaaagcQ,  '2z.      
  '.:zz 'j      ' ''.jQj'        N2rzojZ3H2qjwaQggQaQgjQQgjuu2a2\jj, ':;       
 '..:2Qg''j    ' ' ' ;;zQj      ;;{Qz.4qXuzgQQg2g@qgg2zQ:zQQuaQ2aQ;: j   ;.'   
 ;.;:j2@a '   ''     '':z@g;    '  C$X2ggp&QaacgGX:jg3:QuGQQQuua2aQ;:a         
 .::::::jaa  '   ' ' ' ;aNQ:.' '  . ~~qG2zQ:@u2aucuzJzj=:sQUQQ222auQpp:      ' 
 ;:jjj:::j:`;  ' '  '   ;jga;   '  . ;'Z=@qXxgZ2z;3ggu_::ZuzQ22QQ2aug;p        
 .;.';j:2j:jq '  ' '  '  ' ';:;:;.:;' ';;wCFq@QQQj;:<:G:Q:223Q22QQQ2uz:        
 2j''':''';.jj:j '   '      '''.::::j:;22j`;{udazggL.,, {gzpS:u2QQ2jag2.       
 '    ;.'  :'..';j:ajjz; ' '   ''':.; 2j j;w~<qqQ;@zop{..:uZ:krug3"xQug:}      
   ::;.    . '''.;::jaZq:@QQzazaz2j;;::;j; '. ;~dQ:Qzj;:xp.dgI<Q2: j~dQ\:      
 .;:.      .' ''.;;''.:@@NZQ@N@@@ZgQZaZZz:;   ..,~"gqSSQy~~N:jaj.':q{jazza_,:  
 . '  ' ' ' ''' '.'q_____.._.@jjjjZ2zaZaj:;;'.1gaa2a2Qzp{j":QNNQj .Q{@zzzazai  
 '  ' ' '  ' ' 'qg22g:zj{aa2oRq;;.;;;;::.''  (za2aagQgzQQ:.\{Qazj:zwXQazzaua\  
 ''' '   '  '    qgzzzQgQQQQzza); ''''' '   .22gH1zgQgg2zgNn0:a:::;a:ju2uzQ22` 
 ' ' ''    '     zggaa222uzggQg;' ' '''''; .Qzz:Qjgjaou2Q:cj::@@@N@:"{jzzqzL_; 
 '  '  '       'zqQZgzzazzgQQQx ;        jOuuzzgzuuuuQzhga2{2\{:::@p<~o2aqaaz| 
 ' ' '          .1QQQQQQQQQQQQx           :.___Q_Q_Q___Q_Q______,....__Qazga2l 
 .._...z:;;'    '1xGXQXXgXEEsZs          '{Q$Q@$@$QQQ$@QQ$QNQggzaazzaQQgjQ2Zz} 
 @@Q@QQzzgzQQQQ__qQj_;:.a\._QaLj         _QQQ$$N$Q@N$$Q$$Q$QQQgggzzaQg2aQQ22Q; 
 @@@@@@@@@$@@@$$QQQQQzzQQggazgagg_g_QQQQzQ$Q$Q$Q$$Q$$Q$NQ$Q$QQQQQggQgggzzgQgz} 
 ====================^=^==^=======^^^<======v==V========V=============^^^^==^!