o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
o o o o o o o o o o
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
o o o o o o o o o o                                         ^
o o o o o o o o o o o o o o o o o o o o o o o o o^/ o/^ ^// ^ ////o^o^
o o o o o o o o o o                                      /^^ //^/^^^^^
o o o o o o o o o o o o o o o o o o o o o o o o o o o^o o ^ o ^^/^^^^^
o o o o o o o o o o                               ~   ^/^         //^^
o o o o o o o o o o o o o o o o o o o o o o o o o o ^/t(o o o o o o^^
o o o o o o o ^ o o                                                ^^
o o o o o o o o o o o o o o o o o o o o o o o/o o o o o o o o o o ^^^
^ o o o o o o o o o                         ^                  ^//^^^^
o o^o o o o o o o o o o o o o o o o o o o o o o o o ^ o o o o o/o ^^^^
o o o o o o o o o o                                                ^^^
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o ^^o
o o o o o o o ^^/ o
o o o o o o /// o o o o o o o o o o o o o o o o o o o o o o o^^ o o o
o o o o o^~~///^^ o                                      ^        ^
o o~(~////~/^^^^/////^o o o o o o o o o o o o o o o o o o/^^^ o o ^/(t
^~(~~/////^^^^o /////^//^                   ^^^        ^^^^^^^^^^^~%SQ
o^/~/////^^^^^/(((((~^///~//^ o o o o o o o/^ o o ^ o ^^^^^^^///(/eKRR
/~//////^^^^^^^^^/(((/(((((((~~^          ^^ ^^^ ^^^^^^^^^^^///(s6##S6
~///////~//^^^/// ^^/~~/o ~((tt((/^ ^ o ^^^^^ o o /^^^^^o o o~(%seBR##
%(~/////////^/^//// /~~~///(%%%%7(t(/^^^^^^^^^           ^ ~(%CsGS####
7/^t(~/~~~~///~~~~~~~(t7CCCOC%%%Ct(t///^/^/////((/////((7%%ssOOKK#####
(~/~//////////~~(///~(t76OOsssO3sOOO6se6~/~~~//(~///((COOGKO#SQ#######
7///~/~((~~(~~~~/(~///(t6OCCOOOOOCCsssss7((((~~/~~~/(%OsGQeSK#########
C(^~~((t6OOs7(///(((t(~((%%COSSGSGOOOOOOOeQ((((((~~(COGG#GSS##########
SC3((((6eQGGO%(~~(7((((((/t%3OOO#OOOOQOseQQ((((((7CCOOKK#SSS##########
RQKSOOOGSKK#Gs%(((((((t7%(t%%CsOQGOOO#OO#Q6((((t%sGGGQQKQK#eK#####K@R@
@#R#Q##K#S##OsOSG6%t~(((((tttt(sOSOQOOs6G6((tOsOOQ#SGR##S###R####R@@@Q
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@R@