OOZZZmmmmmmmmmwwwwqqqwwwqppppppdddddddddbbbbbbbbbbbkkkkkkkkkkkbkh*#omxl}*hhhhhhhhhhhahhahhhhhaahaaaa
ZZOZZmmmmmmmmmwwwwqqqwwqqqppppppddddddbbbbbbbbbbbbbkkhkkkkbbka*#aZn];^'-*hahhhhhaaahaaaahhhhhaaaaaaa
OOOOZZZZZZmmmmmmwwwwwwqqqqppppdddddppddddbbbkkbbbdbbbkkbka*#oqY\~" ^:I"]*hhaahaaaaaahhhaaahaaaaaaaaa
OOOOOOOZZmmmmmmwwmwmwwwwqqppqpppppdkhoooahkbkkhaao**oa*#oqY/_;.  ^+'"I^/*bhhhhhhhaaaahhhhaaaaaaaaaaa
OOOOOO0OOOZZZZmmwmmmwwwqqqqqqqdhaabmJn\}?+<>>>~+-}|nLqJ\+:.   ,-xqL :;:Zokhhhhhhhhhhhhhhhhhaaaaaaaaa
OOOOOZqqpqqwwmmmmmmmmmmmwwqdhadLx}i^              .'";`   ,~|Xq*M*~';`\#khhhhhhhhhhhahhhhhhhhhahhhha
OOOOm0i?|rcJ0mwpbkkkkkkkbbhdY[,    '!-)rcJQ0Q0L|` "`  ':+nqo#*okh] "^lbahhhhhhhhhaahhaahhhhhhhhhkhhh
OOOZmh{     .`:l<_]})|txvYt,    ifLbaooooo**&d\I^  l(ChB$$$$$$$$@c}I CMkhhhhkhkhhhhhhhhhhhhhhhkkhhha
OOOOZm*1     `                  ~/zQmbaakko*n"  `1m$$%bJj)[][1/uQ#$$o%*hhhhhkkkkkkkkkkkhhhhhahhkhhhh
000OZZZo)   ^fCXr/|{?<I".`","^.     "~|Ub*b{ . }k$$C[,          ';+fqB$8ohaahkkkkkkkkkkkhhhhhhahhhhh
000OOOOObn    If0OJJLq*8B$$$$$B&hL\l    !t! ' c$$YI   !1xYOmLUn)i. ",+L$$Woahhkkkkkkkkkhhhhhhhhhhhhh
Q0000OOO0bp[    .1Co$$&pUj(}}1\nQa$$MX>      C$W?   -Ck&%Mkb%B%WaQ1 "I^}W$8ahhkkkkkkkkkhhhhhhhhhkkhh
QQ0Q0OOOZZqhJ<  ]b$on+'           I[UB$d?   |$&< ^ x#*#L[,^p@BB%BB8m^`i"?%$Mhhkkkkkkkhhhhhhhhhhhhhhh
QQQQ0O0OZmmZphC0$W(    l]tcJUvn(<'   "f%$0` *@n " |Mb*(    q$$$$kz*Wp ;i^z$Bahhkkkkhhhhhhhhhhkkkhhhh
QQQQ000OOZZZZZ8$L.  .)Lb#M*dbW&#kZr; . ,J$8b$$i `'pb#Q      }zX/" 0o&1 !:]$$*kkkkkkkhhhhkkkkhhkkkhkh
QQQQ0000OOOZO*@Q   "Lkkdx<.;oBB%8&oa/ `' J#bQX^.'.ph*p  .        .maMr !,[$$*bkkkkkkkkkkkkkkkkkkkkkk
QQQQQQQ00OOZpBM;   Qpw0"   .*$$$$dwk&f `'.      ^ [WkWu         ,U*o#~^l'U$@abkkkkkkkkkkhhhkkkkkkkkk
QQQQQQQQQ0ZOh$O   <hLo<      )XX1 !obo` ' ^<{rc> ,'}h#%p(l`  ^<rkW#p]';.}%$Whhkkkkkkkkkkkkkkkhhhkkkk
QLQQQQQQQ0OOh$O   !hC#?           `dphl ' L$$&$@[ .`IjOo%8*kbhW8a0/;.' 1%$%ahhkkkkkkkkbbbkkkkkkkkkkk
LLQQQQ0000OOb$W,   UhmkI         .UkkQ   '#$c ]M$Ol   ^<1jcUJXj1>'   !J$$b#Mokkkkkkkkkbbbkkkkkkkkkkk
LLQLQQQQ00OOZW$X   .Xbdaxl     ;(woa0:   u$Bl  :x8$p(;            l|q$$m-'<xp#abkkkkkkbbkkkkbkkkkkkb
LLLLLQQQQ00OOw%$u    [Um**d0CLwa#k0\.   t$$|   . "(p$$oOct)]]{\vO#$$oc~. ^^.I/w*hbkkkbbbbbkbbbbkkkbb
CCLLLLQLQQ00O0mW$m<    ![fzCQLYr)<    ,L$h-     ,^ ;a*8$$$$$$$BMdY)!` .`[' ^:';tbobbbbbbbbbbbbbkkbbb
CCLLLLLLLQ00OOOOh@$Z]`              ~Y8$%Z"     :;^X#bbbhoqu>"^    '",^n%ht` ,:'!Y*kbkkkkkbbbkkbbkbb
CCCLLLLLLQQ00OZZOmkB$BaLj[>;"",l-f0W$$&hpoML~   ::_obkoMdf;    "}) ^" nWbo&ot  I"'/okbbbbbbdbbbbbbbb
CCCCLLLQQQQ00OZZmmZdjif0aW888%%BB&bQ0ZqkahboMQ>  ^Qobobt,   '?Yp@| " >*bkbdh&di :,.(obbbbbbddbbbbkbk
CCCLCLLQQQQQQOOZZZd}      ';li!I'    'I_(vQpkM&0!]Wbhc,   .1Zoaba'.^ r#bkkbbdo&{ ,, f*bbbbbbbbbbkbbk
CCCCCCLLLLQQQ0OOOpr    \ul      ."        .;?xOM%*ah(    ~O*hddaq `` U*bbbbbkbbB+ :"`Zabbbbbbbbbbbbb
JJCJJCCCLLLQQQ00Z0    +wqkZ1    :vkm0z/-:     ^>twb} . 'u*hdbbbow '^ z*dbbbbbkbop ^, |*dbbbbbbbbbbdb
JJJJCCCCLLLLLQQQq(   .O0LLZkO+    {kbkaokOv]"    ,i   Im*ddbbbbk#` ^ }#pbbbddbbpW- ,`>hbbbbbbbbbbbbb
JJJCCCCCCCLLLLQ0q!   +pLQ0QLmav    _dwmmwphobL\l   ' ~bkqdbbbdbd81 "``whdbbddddp*x ,^"wkdbbddddbbbbb
JJJCCCCCCCCCLLQ0m`   )wCLLQ00QaY    |bmwmmmZmdaa0}  >adqddbbbhbdab '^ ]Mbbbddddpoj "^^Zkddddddddddbb
UJJCJJCCCCCCLLQ0m.   (mJLLLLQ0La(    Cqmmwwmwmmmb*q(ObqdbkkkqLqbqMn ^^ /#bdbdddpo] "':dbddddbbdddddd
UUUJJJJJJCCCLLQQb;   }wUCCCLLQ0Qh"   [dZwwdhkkdqwmdobddbbhh?I^)adp&) `^ 1kabbddbd^ ^ {opdddbdbdbdddd
UUUUJJJJJJCCCLLLk|   ,wUCJCCLLQQh(   :pmmpO\(}Jdpdbddbbbkb#/.I:mhdp&|  " >Laakdor `` Qhpddddddddddbb
UUUUUJJJJJJCCCCLOm    10JJCCCLLLpj   'qwmmw,  ibdbppkbqwpbadII^\Mddp#X^ '''?zwom' ^ {apddddddddddddd
YUUUUUUUUJJJCCLLLpn    fLJCCCLLLwt   ^pmmmbU`,'0hbdf?+!Ijqd*{">{abppwohf`    ;)> ^ !kddddddddpdddddd
YYUYUYUUUUJJJCLLLCa(    jXJLLLQQq-   ib0mmmh(. (hboc.^,;tqqbmJmpqqqqqmq*kx;     ^ :mbppppddddppppppd
YYYUUUUUUUUJJJCCLLLh[    {jY00QZz    fqQOZZqp-<]ZppdJCZqdpwwqpwmwwwwwwwmqo*Y` ``.,Zkqppqqppppppppppp
XYYYYUUUUUUUUUJJCCCCbj    l)uLOQ;   :wQ0000QZppqmZZZpqqmmmmwmmwwwwwwwwqpbbC?.''`'Lapppqqqqqqqqpppppq
XXYYYYYUUUUUUUUJJCCCJq0I   .>(Y_    UZLQQQLQLLQ00OOOOZZmmmmmwwwwmmmwwpbkO|^ ..` ]oqdpqqqqqqqqqppppqq
XXXYXYYUUUUUUUUUJCCCLJ0pf     :    umLQQQQQQQ00000OOOOZZmmmmmmmmmmwpkbL)"  '..' Ubqqqqwwwwqqqqqqqqqq
zXXXXYYYYUUUUUUJJJJJCCCJmO|,      jQLOZO00000000000OOOOOOZOZZmmwpbbmv?'     .' -hqqqqqqwwqqqqqqqqpqq
zzXXXXXYYYYYYUUUJJJJJJCCJCOZc+    ':+)rYQZmmmmmZOOOOOZZmmmwqdbdq0u]:    "(l .' Ubwwwwwwwwqqwwwqqqqqq
zzzXXXXXXYYYYYUUUUJJJJJJCCJJQZJ|"      ^i]|rcUQ0ZZmwwwmmZ0LYvt]l'    '+nqc  ' [bmwwwwwwwwwwwwwwqqqqq
zzzXXXXXXXYYYYYYYUUUUUJJJJJCJJLZw{           `,li<~~~<il;".       ,-jLwwc' ' ;pwmwwwwwwwwwwwwwwwwwwq
zzzzzzzXXYYYYUUYUUJJJJJJJJJJCCCCLqz"     "                   "i[tcQZOLLXI    Cdmwmwwwwmwwwwwwwwwwwww
zzzzzzzXXXXXYYYUUUUUJJJJJJJJJCCLLCZw|    >|ttt|1[-_++_]{|fnzUC00QCJJCQY!    nkZmmmmmmmmmwwwwwwwmmwww
czzzzzzzXXXXXXYYYYYUUUUJJJJJJCCCCLCCqQ+   .<}tXQQCJCCCLLQQQLCJUUJCLL0vI    fbZmmmmmmmmmmwwwmmmmwmwww
cczzczzzXXXXXXYYYYYYUUUJJJJJJJCCCCLLJQdYI   ';~1nUUYXXXXYYUUJJJCCLQOx"    jbOmmmmmmmmmmmmmmmmmmmmmmm
ccccccczzzXXXXXYYYYYYUUUJJJJJJJCCLLLLLJZdu,   ';<}xUCJUUUUUUUJJJC0Q\.    ckwpqmmmmmmmmmmZZmmmmmmmmmm
cvvcccczzzXXXXXXXXXXYUUUUUJJJJJJCCCLLLLCJmqn;    `:_|rcUCCCJJJJL0X+    ,LaZvrYqwmmmmmmZmZmZmmmmmmmmm
vvvccccczzzzzXXXXXXYYUUUUUUUJJJJJJCCLLLLLCCZqc<     ^;<}tuYCLL0L/"    ]qbv  ` immmmmZZZZZZmZmmmmmmmm
vvvcccccczzzzzXXXXXXYYYUUUUUUUJJJJJJCCCLLLLJJOwQ\I     `I<])nLx<    "udmmU.   +mmZmZZZZZZZZZZmmmmmmm
vvvvvvcccccczzzzXXXXXYYYUUYUUUUUJJJCCCCCCLLLQQQZqqC/<       "l.    {Zw0OOwmuxCpZZZZZZZZOZZZZZZZmZZmm
vuuvvvvcccccczzzzzXXXXXYYYYYUUUUUJJJJJJCCLQ0OZmZO00mw0v(<`       iXw0QOOO00mwZ0OOOOOOOOZOZZZZZZZZZZZ
uuuuuvvvccccczzzzzzzXXXXXXYYYYUUUUUJUJJJCCLLQ0OZO0QLCL0mm0Uj]!`lnZ0LQ000000QQ00OOOOOOOOOOOZOOZOOZZZZ
nuuuuuvvvccczczzzzzzzXzzXXXXXYYYYUUJUJJJJJJJCCCLLLLLQLLCJCLOZOQ00CLLLQQ0Q00Q0000000OOOOOOOOOZOOOZOZZ
uuuuuuvvvvccccczzzzzzzXXXXXXXXXXYYYUUUUUUUUUJJJJCCCCLLLLLLLCJJCCCLLLLLLQQQQ0QQQ0Q0000OOOOOOOOOOOOOOO
uuuuuuuvvvvvvccczzzzzzzXXXXXXXXXYYYYYYUUUUUJJJJJJJJCCCCCCCCCCLLLLLLLLLLLQQQQQQ0Q0Q0000000OOOOOO0000O
nuuuuuuuuvvvvvccczzzzzXXXXXXXXXXXYXYYYYYYUUUUJUJJJJCCCCCJJCCCCLLLCLCCCCLLLQLQQQQ0QQQ00Q0Q000O00000OO