dddddddddddddddddddddddy/-::::-::----....```-+yyyyyyyyyyyyyysssssssssyyyyyyyyyyy
ddddddddddddddddddddddh+--:::::-:-----..`````.+ssyyyyyyyyyysssssssssyyyyyyyyyyyy
dddddddddddddddddddddho:---::::-::-.--.```````.+ssyyyyyyyysssssssssssyyyyyyyyyyy
ddddddddddddddddddddds/:----::::::--.--..``````-ossyyyyyssssssssssssssssssssssyy
ddddddddddddddddddddh+:/:----:::::--......``````:///////////////////////////////
ooooossssssssssssssoo///:-::--:::::-.....--.````.---------:::::::::::::::::::///
:::///++++ooooooooo++////://:::://::-...-.....``.----------:://///++++oooooossss
:::::::::::-----.....-//+/++////oso:....::---...````````````````````..-::+oossss
..```````````.``````.-//++ooo+++yyo-...-////::-.``` ``````````` `` `` ```````
````````````````..`..-/:::-::////::::::::------....``````` `` `` ```````````
`````````....`````.::::--------oys/:+oso/-...........```````````` ``
``````````......-://:::::::--./yhdmNNmmmmdy+:.....`````````````
````````````..-//////:::---+ymNNNNNNNmmmmmmmdhs:..``````````
`````````````-/+++////:-ohhysooo+++++++++//::----...````````
`````````````/+++++//--::......```````.----....````````````` ``
`````````````-+++//:----....``````````-::----...```````````````````
`````````````.///::----....```````````.::::---...`````` ```````` ``
```````..````.:::::::--....``````````..://::--....````` ````` `` ```
``..........-:/::::::---...`````````.-:/o//::--...````` ```````````````
...........://////:::---...````````..:/oso/::--...`````` ``````````````
..........:///////:::----..````````.-+osyo+::--...````````` `````````````
---------:///////:::::---...```````.-+syyo/::--...```````````` ` ` `
.........///////::::::---...```````.-/osyo/:---...``````````````````
........-+////:::::::-----...``````../oyho/:---.....`````````````````
........:+////::::::-------...````..-/ssys/::---......```````````````
........:+////:::::--------........-:+soso+/:----........`````````````
........:////::::----------.......-:+ysso++/::----.......````````````
........////:::::----------......-:/yyyso+o/::-----......```````````
........-+//::::----------........-/hyyyoso/:------......```````````
.........-////:::---------........-+oshhhyo/:--.........`````````..`
..........:////::::------.......--o+--:::-:+/:-.........`````.....`
..........-://///:::---::---::::::///+:::--///::--------..----..``
...........-//::::://:::--:-------::-------------------..-.....``
.........---://::::::::::---------------------------........````
...----.----:///::::::::::---...-:mmmmmmdo++/::-----........````
....--------:////::::::::::---..-oNNNNNNNd++o+/::---........```
....---------/////:::::::::-----:hNNNNNNNys/+o/:::---.......```
.....--------///////::///:::----/mNNNNNNNNNy:/+//::--.......``
......------::///////////:::::::+NNNNNNNNNms::----:---....``
````....---:::/+++//+++++//:::://ddhyhhdhhhy+/:--```````` ```
``.......--:::/++ooooo+////::::/+oo++osssyyyssoss+/:::-..``.````````
``.......---://+o+/::---------:/++//+oosssyyyso/:-.```````..````````
``.......--::///:------........-//++++oossys+:-..``` .``````
.........--:://--------.....`````:ooooosss+:--.```` `````
``.......--:://---------....``````:ssssss+:--.```` ````
```......---::/:--------.....`````.oooooo:--..``