@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$K&ZQ@@KKKQQ@@@@@Q@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@$Y52uQ$KXQgZQQZZgg&aaaSUusKX@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@9+\jw""K@2ooOOOoor@NXQQQKjjj2aK@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@F!QzaZg2Z:<~<``@"ja:Z::QQQQ:Q@2a22SK@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@+`z:' .;::jjj.;::g@:{"j<o2azuaquaa2a2S@$@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@$+a:;' '   ''    ' ':z@:j22\jjj2aZ@gz222QG@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@)2; '       '    ..:gq:@"jjj{<u2ua:jggzggpj@$@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@}:'' '          .:.2jjzjZ@:::j::"{:@uzzQQQr{@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@$`.. '       '    '.jj:jzw:@:"2u::YKQNjjZ@@Q/@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@I ;                 ' ;::jj2gQ:\jj<<V0@Qg$@@x\d@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@|g.              ''    ..' .g.j:Q:u2{jjS1@@@@n"q@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@xg.'   '       'jaz:'        ;:wZgZQ:<2Qq$@@@Q:@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@BK@;;          ;:..   ''''   ''';..'..Q:QzQ@@@@$1@@@@@@@@@@@$@@@
@@@@@@@@@@@@@@)Q@q"r.           'jzQQ@zN@:::::::,:@:.j:z@@@@@@@@@@@@@@@@$$$$$$$
@@@@@@@@@@@@@Q;@::::Q:.       '.:z@:::\\2222aQ;zzz:Q@jjQQQ@@@@@@@@@@@@@$@$$$N$N
@@@@@@@@@@@@@@L;::j2zQgj   ';2Z@@:::"\""222adn::Q:QQ@jjaaQQ@@@@@@@@@@$@$$$$N$$N
@@@@@@@@@@@@@@@|:Q;;.Q@@z:j2Q@::::::""j\jj22zzzzk:Q$@jj2aQQ@@@@@@@@$$$$$$QQNQQQ
@@@@@@@@@@@@@@@@_i::j:Q@@@@@@:@:@::::""\jjj2zzgQQ@Qjj2j2aZN$VkQ@@@@@$$$$Q$$Q$QN
@@@@@@@@@@@@@@@@@Q,::@ZQQN@@@@:@NNQZQw~~<:<<j2uQZ$@@@j@@R~YqzQ@@@@$@$$N$Q$QQQNQ
@@@@@@@@@@@@@@@@@@Qp@@ZNQZNNQ@@:@@Zjjj:2z:j2zj2@~<<oZs}@@{qQ@@@@@@@$$NNQ$Q$Q$QN
@@@@@@@@@@@@@@@@K@pp::@:gzZaaQ@@@@N z:'.:jQZj;';:a@jQg\\j2zQ@@@@@$$$$$N$Q$QQQQQ
@@@@@@@@@@@@@@f!Q@$aN@NQ2:Z:2gN@@@@:::NQgzQ@q}:@@:"Qu@@ZQ@@@@@$$$$$N$Q$QNQQQQQQ
@@@@@@@@@@@9=! q$@Q@\,@a2a222gNNQ@@::::\\j\""::@::j:z@nuQ@@@@$$$QNQ$Q$QNQ$QQQQQ
@@@@@@@$Y=%:j' {Q@$QQz.Zj:j::aZQQ@@:::jjjj""@Q@::"2:u@Q2Q@@$$$$N$QNQNNQQNQQQQQQ
KsVV*+w  j:    wGQN$QQQz_,z::j2ggQN@@"::""::Nj <j:jujQpQ@@$N$Q$Q$QQQQQQQQQQQQQQ
@Q;  .          w<QQQ@QQQ\_,2:aaaazQN@NNgzz2:::j:Qq"ug@@@@$$Q$QQQQQQQQQQQQQQQZZ
.                 {ZQQQQQQg2;'j;;:2agNz2:.   ;';a:{gQ@@@@$$N$QQQQQQQQQQQQQQZZZZ
                    &ZQQQZZga\__j;::zQZZga222Z.p_qgKK@@@Q@NNQNNNQQQQQZQZQZZgggZ
                     dggZggzaza2Q._:.22gNN@@:"jzjz$j"jd@@N$QQQQQQQQQgQZZZQQgggg
                      7uza2"<"@2#5^*2._.QQ@@::joHC2j":::VvKQNQQQQQZZQZZZZgggggZ