...............................................................+................
...............................................................|......w.....w...
..............................................................s|....$.T.$<..T$..
...w................................................+..........|................
..!T.$..............................................|....w.....|..=#############
....................................................|....T.....|................
#######>...w.....ac.................................|...$..$<..v................
HHHHHHHH.$.T.....de................................s|...................ac......
HHHHHHHH.........fh........................ac.......|..F###########>....de......
HHHHHHHH#####>...w.......w.................de...w...|..IHHHHHHHHHHHH....fh......
HHHHHHHHHHHHHH.$.T.$..$.NT.<...............fh.<.T$..v..IHHHHHHHHHHHH............
HHHHHHHHHHHHHH.........................................IHHHHHHHHHHHH............
HHHHHHHHHHHHHH######~~~######>.pr...w.....F############JHHHHHHHHHHHHWWWWWWWWWWWW
HHHHHHHHHHHHHHHHHHH....IHHHHHH.tu.$.T.$<..IHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHH....IHHHHHH.yz.........IHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHH....IHHHHHH############JHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHH....IHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHH....IHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHWWWWYHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH