font size: 12px ( --- / +++ )
3.238.250.105@honeybii.com ~
$ cat external-content.duckduckgo.com.png.txt
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVV**Y*+~:~:+:~VV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV= $$xYVx=:+~~++~$ :~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-~+V=+xx++=+~-~~~:::**+~=:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x$:xx+:~::~:~~~~::::::::~+$~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=x*:+::~:~~~::::::::::++:+:+-*+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=**+-.~~:::~:::::::::+++++::=+.~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@===:~~~~~:~::::::::::++++++::+:.~-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~==+~~~~~~~~:::::::+:++++++++++::- ~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-~=:~~~~~~~~:::::::::++++++++++++:~Y::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx+~~~~~~~~~~~~::::::++++++====+++++:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVVVVY**x==:++++~-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**~-~~~~~~~~~~~~::::+++++++=====++++:-:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$V*==.$V$$YxxY*=+==+=~x+YV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+~.-~~~~~~~~~~::::++++++==========++:+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx #$xx==*****:+=+:~~:::~=+VYV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx:.--~~~~~~~~:::+++++++===========++:+*~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVx=@*=x*=:::~:::~~:--~:~::::+:YV.VV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**~----~~~~~~:::++++++++===========+++:~~~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**~$x==*+:~~~~:.~::::::::::++++++=*=V.*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY:---~~~~~~~::::::+++++=============+::~~::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Yx:xx*=+:::~:::::-~:++++++++:++==++++=**~==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY-..-~~~~~~~~:::::+++++====****======++::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++@V==+::::::~:::::::++++++++=========+++=Y*Y+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV:---~~~~~~~~~~::::++++==*=*****======+:::.=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V*=+=++:::+:+++++++++++++===++====*****====:=++8$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++:----~~~~~~~~~::::+++=====********===+++== x@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VY $x=::::+++:++======+=+++=========********==+::=$V$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=-~----~~~~~~~~~::::++++++========*=====++++Y#:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@== V+*+:::::++~:=================******x**xxx***====YV$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@------~~~~~~~~~::::++++++===============++:=:-:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==V*Y*:~~~~:::++++==========*=====**********xxxx***====YV=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~~~---~~~~~~~~:::++++++========***===*==++:++*:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==*V==::::~:::+++++=====***========**********xxxxx*x**++:+=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~*=:---~~~~~~~::::++++++===***=**********==++:~~+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~ ==+::~:::::++++++====****==========*******xxxxxxxxxx**+:==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x*:-.~~~~~~~:::::++++++===***=***********=+++++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V$~:=+:::::::::++++======**===========*****xxxxxxxxxxxxxx*++**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==~-.~~~~~~::::::++++++====*=====*****=====+++=x~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*#$~~::::::::::++++=====+=====+++=====**xxxYYYxYYYxxxxxxxx**=*+$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V=*:..-~~~::::::::+++=+====**=====*****=======+=~ ~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY=xx::::::::::++++++====+++==+++=====**xxYYYYYYYYYYYxYYYYxxx=+*V$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx=~--~~~~:::::::++++====****====*******=======++=~@::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::=8V*=:::::::+++++++++====++++=======*=**xxxxxxxxxYxYxxxxYYYxxx***VV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY:--~~~~~~~~::::+++++===***======****==========++=++~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@== :***+~-:::::+++++++====++++==++===***********xxxYYYYxxxxxxxxxx***x+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==:-.-~~~~~~~::::++++++===**=*=====***===========++++~=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVY+~~::~~::::++++++++++===++++++=+=+======*******xxYYYYYYxxxx*xxxxx***:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==+~--~~~~::::::::++++====*******=****============++::+:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V.$x+~~~~~:::++++=====++++++++++==+=++=+++===**xxxxxxxxxxxxxxxxxxxxxxx***+:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=**~--~~~~:::::::::++=====*==**==**=**=============++++:+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* Vx+~~~~:::::++===========++++++=++++=========****xxxxx**xxxxxxxYxxxxxx**+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$**---~~~~~~::::::+++====**==****=*=*================++::+-::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVx:*x:-.~::::++++==========+====++++++++++========**********xxxxxxxYxxxxxxxx*++~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V*:-~~~~~~~~:::::+++=====**********==================++:::~:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++@V**+:~~~:::++++++====++++======++++++++++=======************xxxxxxxxxxxxxxxxx+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$Y*:~~~~~~:~~::::+++++====***********==================+++:~ ::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::~++x=+:~~~:::++==================++++==============***********xxxxxxxxxxYYYYxxxx=:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V*:-~~:::::::::::+++++====**********===================++++=:x~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~*+:~:::::::~-::+++===========+++==============*==*=*=*=**********xxxxxYxxxYxxYYxxxx*:-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV=~--~::::::::+++++++=====**************===============+++++::~+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY#:*:~::::::::~~~+++=============+===============***=****===*******x*xxxxxxxxxxxxxYYYxx=+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V~~~~::::::::::+++++++=====*************==*============++++++:::~:~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==+8V=~+:~~:::::::+++===***=============================*=====********xxxxxxxxxxxxxxxxxYxx*=+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$Y+~~~::::::::::::++++==+=====***************==============+++++++:~:~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==*====:::::::::::+++====****==++===========+===***********************xxxxxxxxxxxxxxxxxxxxx=+.$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V=:~~::::::::::::+++++=+=+===**************=================+++++:::-=+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@- *Y=++:+++:::::++++===****========++==========***********x**************x*xxxxxxxxxxxxxxxxx**=V$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V:+::::::::::::+++++++++++====******************=================++::xY*=*YYY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==+~++:::+:++:++++====***x***============+====***************************xx**xx******xxxxxxxxx**=YY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$ +~::::::::++++++++++++++=+++==*****************==================+++++=**YV :~~*YYVYxYVY++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::: =+::+++++:+++++====*xxxxxx**===============*********xxxxxx*********xxxxx**xx********xxxxxxxxxxx*++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=:::::++++++++++++++++======+====********===*===================++++++++=***:~+=YY$YY@$@+:~:===*~=*YV$$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::+:+::+++++++++++====*xxYYYx**======+++====**********xxxxxxxxxxxxx****xxxxx************xxxxxxxxxxx**=V@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:VY+~~:+++++++++==============+=+++=================+========+++++++++++:::::+:::+==*+==*+:=++x*=*~=*Y@#$ -~~*:=YVVVVY==*xYVVVV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY ~:~::++++++++++++===***xxYYYxx***=========**************xxxxxxxxxxxxxxxxxxxxxx**xxx**********xxxxxxxx*VV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:xY+~-::+++++++===============++++++++++++++:+++++++++++++++:+:+:::+++++::+++::::::::~::::::::++++~:++:**+:+~*+=Y$$$$YV**YY$@V ~~::::::~+==**Y*VVVYx==~~++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY*= Y=~~:+++++===+++++=====**xxYxx****======**====***************xxxxxxxxxxxxxxxxxxxxxxxx************xxxxxx*$$:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:~:+::::+++=====*****========+++++:++::::::::::::::::::::::::::::::::+++:::++++++:+++++::+:::+::+::::~::::::~::~~======:~:+==:*+:==+==++:+=xYxY*V$@V@=.--+~::+~~. -:+=*==VVV::::@@==xxxx=+ YVY*=+:::+::===++++++=====**xxxxxx***==============**********xxxxxxxxYYYYYYYxxxx*xxxxxxx**************xxxx***+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:~~:::::++===*********==++++++::::::::::::::::::::::::::::::::::::::::::::::+::+::+++++++++:+++++++++:+:+++::::::::~~~~~~:::-~:~::::::::::++=+=+=*==:+~-~~~+===~-:==+=*=*$$ ::~++::=@Yxxx===++::::+++++===++++====***xxYxx*****===========****x****x*****xxxxxxYYYYYYYYYxxxxxxxxxxx**==*********xxx****==:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::::+++==*********==++:::::::::::::::::::::::::::::::::::+:::::::::::::::++++++++++++++++++++++++++++++++++++++:~--~:++++:+++:++:++++:++:+:::::+:~::~:::::::~-.~:::+::*=~::~==+*====++::~~::+++++++====++=====***xxYYxx**===========*****xxxx**************xxxxxxxxxxxxxxxxxxxxx**************x***x*=++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~*~~::::++++=====****==+++:::::::::::::::::::::::::::::::::::+::::::::::::::::+:+:++++++++++++++++++++++++++++++++:+::::::++++++++++++++++++++++++++::++++++::+::::::::::::::::::+::~:::::::::::+++++++=========*=***xxYYYxx*==========***********xx***xxxx**xxxxxxxxxxxxxxxxxxxYYxxxxx**************xxx**VV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~:=:~::::+++=========+++:::::::::::::::::::::::::::::::::::::::::::::::::+::+:+++::+++++++:+++++++++++++++++++:::::::::::::::::+++++++++++++++++++++++++++++++++++++::++++++:::++::::::::++++:::++++++++========****xxYYYxx**========************xxxxxxxxxYxxxYxxxxxYYYYYYYxxxxxxxxxxxxx*************xxxx===@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV :+:::::++++++====+++::::::::::::::::::~:::::::::::::::::::::::::::::::::::::++++++:+:+++++:+++++++++++++++::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++:::+++++++++++++++========*****xxxxYYYxx***======***********x*xxxYxxxxxxYYYYYxYYYYYYxYYxxxYYxxxxxxxxxxx*******=****xxxx*==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$.V*++:::::++++++++++:::::::::::::::::::::~:::~::::::::::::::::::::::::+::::::::::+++++++++++:+++++++++++++++++++++::::::::::::::::::::::::++++++++++++++++++++++++++:::+++++++++++++++++++++++++++==========*****xxxYYYYYYxx***===************xxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYxxxx***********xxx*x*+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$x$Yx=::::::::::+::::::::::::::::::~:::::~:::::::::::::::::::::::::++:::::+++::::+::++++++++++++++++::++:++++++:::::::::::::::::::::::::::::::++++++++++++++++++++++++::::++++++=========================+====*****xxYYYVYYxxx***=*=**********xxxxxYYYYYYYYYxYYYYYYYYYVVVVVVVVVVVVYVYVVYYxxxxx***************xx=++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++@$Y*:::::::::::::::::::::::::~~~:::~::::~:::::::::::::::::::::::::++++++++++++++++++++++++++++++++++::+:+++++::::::::::::::::::::::::::::::::+:+++++:+:+:::+++++++++++++++++++++===*****======================***xxxYYVVVYxx*****===********xxxxxYYVYVVVVVVVVVVVVVVVVVVV$VVVVVVVVVVVYYYYxxxx**********xxxxxxx*x*==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==++x=::::::~:::::::~:~:~:~::~~~~~~~::~:~~:::::::::::::::::::::++::+++++++++++++++++++++++++++++++++++++++++++::::++:::::::::::::::::::::::::+::::::::+:::::::++++++++++++++++++++++==*xxx****======***=========***xxxYYYYYYxx*****=**==*****xxxxxYYYVVVVVVVVVVVV$V$V$$$$$$$$$VVVVVVYYYxYxxxx**********xxxxxxxxxx**==-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::+x+++=++::::::::::~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++::::++:+:++++::::+:::::::::::::+::::::+::::::::::::+++++++++++++++++++==**xxx*******============***xxxxYYYYYxxx*****==***=*****xxxYYYYYVVVVVV$$VVVV$$$$$$$$$$$$$$$VVVVYYxxxxxxx***==*****xxxxxxx******+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+=~+::+++:::::~~:~~~~~~~~~~~~~~~~~~:~::~::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++::::::::::::::::::::::::::::::::::::::++++++++++++++++++===**xxx*****===========**xxYYYYYYYYYYYxx****====*===***xxxxYYYYYVVVVVVVVVV$$$$$$$$$$$$$$$$$VVVYYYYYxxxx************xxx*******==:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++%::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::::::~~::::::::::::::::++::++++++++++++++++++++++++=+=+++++++++++++++++++++++++++++:::::::::::::::+::::::::::::::::::::::::+++++++++++++++++++++==*xxx*****========***xxxxYYYYYYYYYYxxx***=========**xxxYYxxxxYYYVVVVVVV$$$$$$$$$$$$$$$$$$VVVYYYYxxx***************x*********+:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-- ==+:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::++++++++++++++++++==++++++++=====+++++++++++++++++++++::++++::::::::::::::::::::::::::::::::::::::::++:+++++++++++++++++++==**xxxxx***=**=****xxYYYYYYYYYYYYYxx****=========*********xxxYYVVVVVVV$$$$$$$$$$$$$$$$$$VVVVVVYxxxx***********xxxxxxxxxx***=::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==*:~::+:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:::::::::::::::::::::++++++++++++++++=+=+++++=++====++++++++++++++++++++++++++++::::+:::::::::::::::::::::::::::::::::::::++++++++++++++++++++====***xxx*******xxxxxxYYYYYYYYYYxxx*****====+====*********xxxxxYYYVVVVV$$$$$$$$$$$$$$$$$VVVVVYxxxxx***********xxxxxxxxx****+::~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++=:-==::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~::::::::::::::::::+++++++++++++============++++++++====++++++++++++++++++++++::::+++::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++==**xxxxxxxxxxxxYYYYYYYYYYYxx*******==========************xxxYYYYVV$$$####$#$$$$$$$VVVVVYYxxxx******==*****x**********=+:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::+::++=+::+::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::+++++++++++++===========++++++======+++++++++++++++++++++++::++:++:::::++::::::::::::::+::::::::::+::++++++++++++++++++++++++++==*xxxxxxxYYYYYYYxYxYYYYxxx********=======****========**xxxxxYYYV$$$$$$$###$$$$$$VVV$VVYxxxx******===***************=++:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==:+Y+:++:~:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::++:+++++++++++++========++=+++++======++++++=+++:+++++++++:++++:::::++::::++:++++::::::+:+::::::+:::::::::+++++++++++++++:+++++++++==**xxxYYYYYYYYYYxxxYYYxxx*******=*==******========***xxxxYYVV$$$$$$$#######$$$$VVV$VVYxxx*******===***********=***=++**:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::+~ =:+:+::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~:::::::::::::::+++++++++++++=====================++++=+++++++++++++++++++++::::+++++++++:+++:::::::::::::+++++:+:::+++++++++++:++++++++++++++++++==*xxYYYYYYYYYYxxxxYxxxxx***=====*=****========***xxxxxYVV$$$VV$$#########$$VVVVVVYYxxxxxxx*======***************=+=YY:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::+++~:+:+::::~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~::~~::::::::::::::+++++++++++++======*=============+++++++++++++++++:++++++++++++++::++++::++++:::++++::++++:::++++++:+++++++++++++++++++++++++++++++===*xxYYYYYYYYYYYYxxxxxxx***====*==========********xYYVVVVVV$$#########$$$$$VVVVVYxxxxxxx**======*****===******==::++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::~Y:+:::~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~::::::::::::+++++++++++++==========**=========+++++++++++::++++++++++==+++++++++:::++++:++++:::+++++++++++:++++:++++++++++::+++++++++++++++++::+++++++==*xxYYYYYYYYYYxxxxxxx*******=*=*=====********xxYYYYYYY$###8#8#####$$$VV$VVVVYYxxxxx**=====*****==*====****==++:++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV~ :~:::~:::~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~-~~~~~~~~~~~~~~~~~:::::::::::+++++++++++======================+++++++++++++++=+++++++++=++++++++:+:++++:++++++++=+=+++++++++++::::+++++++++++++++++++++++++++++++++++++++==*xxYYYYYYYYYxxxx*xxxxx*******=**********xxxxxxxxV$$##8#888####$$$VVVVVVVVYxxxxx**======*****=====*=======+:++=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV*=@VVY+:~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~-----~-----~~~~~~~~~~~~::::::::::::+++++++++==================++++++++++++++:++++=+++++++++++++++++++++++++++++++++++===++++++++:::+++++++++++++++++++++:++++++++++++++++++++++==**xxxxxxxxxxxxxxxxxxx***************xxxxxx*xYV$####8888####$$$$VVVVVVVVYYxxxx**====*=****=====****=***=+++x*=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++:-@V*=:*::-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~--------------~~~~~~~~::::::::::::++++++===========***===+++++++++++++++++++++++++++++++++++++=+++++::+++++=+++++++=+++++++++++::::++++++:++++++::++++++++++++++++++++:++++++++=====**xxxxYxxxxYYYYxx**************xxx***xYY$############$##$$V$V$$$VVVYYxxx**========*==========****==++YY#=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV*:+:-~=::~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------------~~~~~~~:::::::::::::++++++==========***===+++++++++++++++++++++++===++++++++++==+++++++++++++++++++++++++++::::::+++++++++++++:::::++++++++++:+++++++++++++++++++++++==***xxxxxxxYYxxxx***********xxx****xYV$###############$$$$$$$$$VVYYYYxx**====================****==+:*=Y@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VY*@$*+~~~-~~~~~-~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------~~~~~~~:::::::::::::++++++===============+++++++++++++++++++++===++++++++++===+++++++++++:++++::+++++++++++:::+++++=++++:::+++::::++++++++++::::++++++++++++++++:++++++==**xxxxxxxxx**x***********x****xY$########8##########$$$$$$VVYYxxxxx**=====*====+====*======*====::==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VY+@V*+=+~~~~~~~~-~--~~~~~~-~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-------------~----------~~~~~~~~:::::::::::+++++++=========**==+++++++++++++++++++++++=++++++++++++=++++::+++++:::::++::++++++++++++++++++++++++++++::::++++++++++++++++++++++++:++++++:+:::++++==**xxxxxxxx****************xxYV$########8########$$$$$$$$VYYxYxxxx**===========+====*********=:+@::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+ V=*=:~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------------~--~-----~-~~~~~~~~:::::::::::++++++=========**==+++++++++++++++++++++++++++++++++++++++:++:::::::+++++++++++===++++++++++++++:++++++++:::+++::+++++++++++++++++++++++++::::::::::+++=****xxxx****************xYVV$#######8#########$$$$$$$VVYYYYYYxx**======+=========*********==+:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$++=:~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~~------------~~-~---------~~--~~~~~::::::::::++++++=========**===++++++++++++++++++++++++::+++++++++++:+++++++++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++::+++++++++::::::::+++==*********=**********xxYV##################$#$$$$$$VVVVYYYxx****==++++==============****=+*=~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$$*:----------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:::::::~~~~~~~~----------~-~~~~~~~~----~~~~~~~~~~:::::+::::++++++=======**====+++++++++++++++++++++++++++++++++++++++++++==++++++++++++++++++++++++++++++++++++++++++++++++++++++:++++++++:::+++++++++++++:::::+:::++==******************xYV$##8################$$$$$$$VVYYVYxx***======================****==+::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@V=:~----------~~~~~~~-~~--~-~~~~~~~~~~~~~~~~~~~~~~::~~::::::~~~~~~~-----~~~~---~---~--~~~-~-~~~~~~~~~~::::::::::+++++==============+++=+++++++++++++++++++::+++++++:+++++++++++++:::::++++++:::::++++++++++++++++++++++++++++++++++++:+:++++++++++++++++++++:::::::+++::::++=====***********xxYV####################$$$$$$VVYYYxxxx**=====+====+===========****=*===VV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+*x:--~-------~~~~~~~------~~~~~~~~-~~~~~~~~~~~~~~~~:~:~~~~~~~~~~~~----~~~~~~~--~~~-----~~---~~~~~~~~~~~~:::::::++++++========*=====+++++++++++++++++++++++::::::++:::::++::::::::+++:::::++++:::++++:::+++++++++++++=+++++:++++++++++++++++++++++++:::+++++++++::::++++::::::+++===********xxYV$#############8###$#$$$$$$VVVYxxxxx**===========+=========*=*****=**==x$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV*++~---------~~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~:~:~~~~~~~~~~~---~~~~~~~~~~~~-~----~-~~~~~~~~~-~~~~~:::::+++++++++======***===++++++++++++++++++++++++++::::::::::::++::::::::::::::::+++:::++::+++++++++++::+++=====+++++++++++:+:++:::::::::+:::+++++++++:::::+++:::::::::+++===**=*xxxYV$$###$$$$$$########$$$$$VVVVVYxxx****======================****xx****=::V@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+@V+~~-------~~~~~~~~---~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~:::::++++++++++=====***==++++++++++=+++++++::++++:::::::::::::::::::::::::::::::++++:::::+::::+++++==++::++++++++++++++++++++:::::::::++::++::+++++++++:::::::++::::::::::+++++==***xxYV$$$$$VVVVV$$$####$$$$VVVVVVVYxx******=*****===========*****xxxYYYxx*=++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx *Y*~-------~~~~~~~~~~--~~~~~~~~~~---~~~~~~~~~~~~~~~~:~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::+++++++++++==========++++++++++==+++++:::++++::::::::::::::::::::::::::::++++::::+:++::::+++====++:+++++++++++++++:++++++++++++++++:::::::::+++++++::::::++++:::::::::::++++====*xYYYYYYYYxxYYV$$####$$$VYYYYYYYxx**x******x*********=*=***xxYYYYYYYYx**====+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++8x+~+~------~~~~~~~~~~~~~~-~~~~-~~~-~-~~~~~~~~~~~~~~:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::++++++++++================+++++++++++++:++++::::::::::::::::::~~:~::::::::::::::::++++:++++====++::++++++++++++++++++++++++++++++:::::::::::::+++++++++:++++::+++++::++::::+:+++==***xxxx*x*xxYV$$$$$$$$VYYxxxxxxx***x*****xxxx**********xxYVVVVVYYxxx***==+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Y++:~--------~~~~~~~~~~~~~~~~~~~~~-~~-~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::+++++++++++==========+++======+==++++++++++::::::::::::::~~::~~~~~~:::::::::::::::::::+++++==++++:++++:+++++=+++===++++++++:+++++++++++:::+::++++++++++++++++:+++::::++::::::::+++====********xYYV$V$$$VVYxxxx***********=*************xxYV$$$$VYYxxx****==++++=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Yxx~~--------~-~-~~~~~~~~~--~~~~~~~~-~-----~~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::++++++++++++==========+++=========+:++++++::::::::~~~~:::~~~~~~~~~~~~:~~~::::::::::++++++:::++++++++++++++++=========+++++++::::::++++++::+++++++++++:::::+++:::::::+++:::::::::++++++======****xxYYYYVYYxxxxx***********===***********xYV$#$$$VYx**========+++==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=*=+~-------~~~~~~~~~~~~~~~~~~~~~-------~~~~~~~~~~~::~~~~~~~~~---~~~~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~:::::::::++++++++++++============+++===++++++++++++:::::::~~~~~~~~~~~~~~~~~~~::~~~~~~::::::::+++++:::++++++++++++========+++===+==++++::::::++++:::+++++++:::::::::::::::::::+++::::::::::::++++++========***xxxxxxxxx*******===**=============**YV$$$$VYx*===========+::++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==+~~~-------~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~:::::::::~~~~~~~~~~~~~~~~~~~~:::::::::++++++++=+++====*===+=====+++====++++++++:::::::~~~~~~:~~~~~~~~~~~~~:::~~~~~~:~:::::::::::++++++::+++====**===========++++++++++++++++++++++++:::::::::::++::++++++:+:::::::::::+++::+++++++=========****xxxx*******====================*xYYYYxx*==+=+++======++==+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ *=~--~-------~~~~~~~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:+:::::::~~::~~~~~~~~~~~~~~~:::::::::++++++++================*=========++++++::::::~~~~~~~~~~~~~~:~~~~~:~:::~~~~:::~:~~~~::::::++++++++++=============++++=++++++++++++++++++++++++::::+:::::::::++++++::::::::::::+++++::::++++++++=========*************=====================****===+++++=========+++~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:*Yx:~-~~~~~~~~~~~~~~~~~~~~~~~~------~~--~~~~~~~~~~~~~~~~~:::::::::::::::::~~~:::+:::+++:::::~~~~~~~~~~~~~~~~:::::++++++++++================**=========++++::::::~~~~~~~~~~~~~~~:~~~~~:::::::~~~~~~~~~~~~~:::::++++++++==+++++++=++++++++++++++++==++++++++::+++++++++++++:::+::::::::::::::::::::::::::::::+++++++++++=======***********=====================*===+=++++++=======*==++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:-xx+~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~--~~~~~~~~:::::++=*xxxxxxxxx***==+:+:+++++++++:::::~~~~~~~~~~:::~~~:::::++++++++++++==============*=======++++++::::::~~~~~~~~~~~~~~~::~~~~~::::::~~~~~~~~~~:::::::::::+:+++++++++==++++======+++++=++==+++::+++++++:::::++:+++++++++::::::::::::::::::::::::::::::::::::++++++++====********=*==*==================*=====================++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+::*~~~~~~~~~~~~~~~~~~~~~~~~~~---------~~~~~-~~~~~::::+=*xYV$$$$$$$$####$$VYx**=+=++=+++++++::~~~~~~~~~~:::::::::::+++++==+++++============+=======+++++++::::::~~~~~~~~~~~~~~~~::~~~~:::::::~~~~~~~~~::::::::::::::::++++++========================+++++++++++++:+:::::::::+++:::::+++++::::::::::::::::::::::::::::::+++++++++=====******=**==*******========*******xxx****========+++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~~~:--~~~~~~-~----~~~~~~~~~~~---~~-~~~-~~~~~~~~::::::+*xV##888888888888888##$Vxx**===++++++::~~~~~~~~::::::::::::++++++++=++++++======++===+=======+++++++:::::~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~~~~:::::::::::::::::::++++++++======++++===+=====++++++++++++++++++::::::::::::+++++++++::::::::::~:::::::::::::::::::::::::::+++++====*************=====*******xxxxxxxxxxxx*******=+++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:~~-------~~~~~-------------------~-~~~~-~~~~~~~:::-+=xV##888####8888%%%%%%%88#$VVY*==++++++::~~~~~~:::::::::::++++++++++++++++++=====+++======+++===++++::::::::~~~~~~~~~~~~~~~~~~~~~~:::::~~~~~~~:::::::::::::::::::::::::::+++:+++++++++++++++=+++++++++++++++++::::::::++++++++++++::::::::::::::::::::::::::::::::::::::::::::++++=====**********======*****xxxxxxxxxYxxx*****x**+=+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=-~~-------~~~----------------------------~~~~~~~~::+=Y$#88#$$VV$#88%%%8%%%%%%%%88#VY**===++:::~~~~~::::::::::::+++++++++++++++++++===++=========++===++::::::::::~~~~~~~~~~~~~~~~~~~~~::::::~~:::~~:::::::::::~:::::::::::::::+++++++=====++++=+++++++=++++++++++++::::+:+++++++++++++++:::::::::::::::::::::::::~:::::::::::::::::::+++=====************===*****xxxxxxxYYYxxx***x*****+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+=+------~-~------------------.....--------~~~~~:~::+=x$#8#$Y**YV$$VV#8##888888%%%88#VYx**==+::~~~~~:::::::++::++++++++++::+++++++++++==+++==+===++++++++:::::::~:~~~~~~~~~~~~~~~~~~~~~::::::::::::~~~~~~~~~:::::::::::::::::::::::++++======++==++++++++=++++====+++++++++++++++++++++++:::::::::::::::::::::::::::::::~::~:::::::::::+++++=======***************xxxxYxxxxYxxxxxxxxx*=*=+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++----~-~------------.-.............-----~~~~~~::+=*YV#$V*=+*YVY=::+Y###############$VYxx**=+:::~~::::::::+++:+++++::::::::+++++++++++++++++++++++++++++:::::::~~~~~~~~:~~:~~~~~~~~~~~::::::::~~~~~~~~~~~~~:::::::::::::::::::::::::+++++++=========++++++++++++==++++++++++++++++++++:+::::::::+:::::::::::::::::::::~:::::::::::::::::++++===============*******xxxxxxxxxxxxxxxxxx***=::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:~~---~~~~-------....................------~~~~::+=xVVY*+:+*V$V*~~+xV$VV$###$Y+::=V#$$VVYx*=:::::::::::::::++++++:::::::::::::+++++++++++++++:++++++::++:::::::~~:~~~~~::::~~~~~~:::::::::::::~~~~~~~~~~~~::::::::::::::::::::::::::::::++++++++=====++++++++++++++++++++++++++++++++::+++::::++::::::::::::::::::::::::::::::::~::::::::+++++=============********xxxxxxxxxxxxxxxxx**==+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++~-----~~~------....... ...............----~~~~:++=*Yx+::=Y$$VYxxY$$VVYV$88#Y=-.~=V###$VVx*+:::::::::::::::++++::::::::::::+:::++++++++++++++:+::+++:::+:::::::::::~~~~~::~~~~~~~~~:::::+:::::~~::::::::::::::::::++++:::::++::::+:++::::++++++==========+++++++:++++++++++++++++++::::::::::::::::++:::::::::::::::::::::~~:::~~~:::::::+++++======*=***==**********xxxxxxYxxxxx*******=+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==~----------............... .. ........-----~~:+====+~~+x$##$YYV$##$$$###8#$YxxV#88###$Vx=+:::::::::::+::::::::::::::::::::::::::+++++++++++:::::+::::::::::::::::::~~:::~~~~~:~~~~::++:::::::::::::::::::::::::::::+++:++++::::::::::+:++++++===+===***==+++++++++++++++++++++++++++++::::::+++++++::::::::::::::::::::~~~::::::::::::::++++++++======***==*****x*xxxxxxxxxxxxx******=++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=xx:.-------........ ... .. . .. ........-.---~~::+++:~-:*V#8#$$$$$$$$##8########8888###$Vx=:::::+::::::+:::::::::::~~~~::~:::::::::+++::::::::::::::::::::::::::~~::::::::~~~~~~:~~:::::::::::::::::++++++++++++:::::::::::::::::::::::::+++++++=======++++++++=++++++++++++::++++++++++:+++++++:::::::::::::::::::::::::~~~::::::::::::::::::+++++=====********xxxYxxYYYYYYYYYYxxxx**=:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==+-.------........ . .. .........-----~~++==+~-~+Y$#8#####$$$$##8888888888888##$Vx*+++:::::::++:::::::~~::~~~~~~~~~~~:::::::+:::::::::::::::::::+::::::::::~~:::::::::::~::::::::::+::::++++==*****========+++++:::::++++++++++::::::+++++++===++++++++===+++++++++++++:::::+++::::::+:::::::::::::::::::::::::::::~~::~~:::::::::::::::+++++======*====*xxYYYYYYYYYYYYYYYxxxx*=~::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+=:-------........ . ..........----~~~+xx*+~-~=Y###$$$$$$$$$##888888888888#$VYx*=+++::::::::::::::~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::+::::::::::::::::::::::::::::::::+:::++===*xxYYYYYxx****=========+++++++======+++++++::+++++++++++++++++++++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::~::::::::::::::::::+++++=========*xYYYYYYYYYYYYYYYxxxxx+=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Vxx=~------...... . .......---.-.-~~:=YVx+~-~=YV$$VVVV$$$$$##88888%%88888#$Yx**=++:::::::::~:::~~~~~~~~~~~~~~~::::::::::::::::~:::~~:::::::::::::::::::::::::::::::::::+:+++++++++=*xYYV$$$$##$##$$$VVYYx****====++++++++++++++++++++++++++++==++++++++:++++++++++++++++++::::+::::::::::::::::::::::++::::::::::~~::::::::::::::::::::::+++++=========**xxYYYYVYYYYYYYYxxxx==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VYx:------....... .. ......-----.-.-~:+=xY*+:~~+xYVVVVVVVVVV$$##88%%%%8888#$Vx*==++::::::::::~~~~~~~~~~~~~~~~~~::::::::::::~::::~~~~::::::::::+::::::::::::::::::::::+++++++++++===*Y$$#88888888%%%%%%%88##$$VYx**===++++++++++++++++++++++++++=++++++++++++++++++++++++++++::::+::::::::::::::::::+:::+:::::::::::::::::::::::::::::::::::+++++++========**xYYYYVYVYVYYYYYxxx::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Vxx=~----...... ........------.--~::+=***=:~:+*Y$$$VVVVVVVV$$$##88888888$Vx*=++++:::::::::~~~~~~~~~~~:~~~~~~::::::::::::~~:::~~~~::::::::+++++::::::++:+:::::::::::++++++=++==*xYV#888888888%%%%%%%%%%%%%%88#$VYxxx*==++++======+++++++++++++++++++++++++++++::+++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++=======***xYYVVVYVYYYYxxx=+.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVx+~-..-..... .........----------~::+==*x*=+:+=x$#$$VVVVVVVVV$$$##88888#Vx=+++++::::::::~~~~~~~~~~~~~~~~~~~~::::::::::~~~:~:::~~~~~::::::::++++:::::++++++++++++++++++++===*xYV$#88888#$$$$#88%%%%%%%%%%%%%%%888###$Yx=++++====*===++++++++++++++++::+::++++++++++:::+++::::::::::::::::::::::::::::::::+::::+:::::::::::::::::::::::::::::++++++++=====**==*xxYYYYYYYYYxx*+:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YxY*:~----..... . ........-----------~~:===*****=+=xV$$#$VVVVVV$VV$$##88##$Y*=+::::::::::::~~:::~~~~~~~~~~~~~~~:::::::::~~~~~~~~~~:~~~::::::::+++++++++++++++++++++====++===**xV$#8888#$VY*====*xYV$#8%%%%%%%%%%%%%%%%88#$Yx=+======**===++++++++++++++:::::+++++++++:::::+::::::::::::::::+++++::+:::::::+++:::::::::::::::::::::::::::::::::::++++++++====**==**xxxxxYxYYxxx*++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVYx+-.----.... . .........------------~~:++=****=**xYV$####$VVV$$$$$####$VY*+::::::::::::~~~~~::::~~~~~~~~~~~~::::::::~~~~~~~~~~~~~~~~:::::::++++++++++++++++++====********xxYV$#888#$VYx=+~---....-:+=Y$88%%%%%%%%%%%%%%888$Yx*===========+++++++++++++++:++++++++++++::++:::::::::::::::::+++++::::::::+++++::::::::::::::::::::::::::::::::+:::++++++++=+==*******xxxxxxxxxx+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VYVx=:--........ ... ........-------------~~:++==**=*xYYYV$$#88###$$$$##$$VYx*+:::~::::~:~~~~~~:::~~:::::~~~~~~::::::::::~~~~~~~:~~~~~~~~~:::::++++++++++++++=========*xxxxxYYVV$$#888##Vx=+::~~~:++:~-...-+Y#8####8%%%%%%%%%%%%8#$Yx***======*==++++++++++++++++++:::+:::+++++::::++:::::::::::::::::::::::::+++::::::::::::::::::::::::::::::::::::+++++++++++=====*=***xxxxxxxx*:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V*VY=~--......... . . ........------------~~~::+++==**xxxxxxYYVV$$$$VYYxxxx*=+:~~~~~~~~~~~~~~~~:::::~~~:::::~~~:::::::::~~~~~~~~~~~~~~~~~~~:::::++++++====+============**xYVYVV##88888#$Y*=+~~~~~:=x$$Vx*=*xV$##$VY$#88888%%%%%%%%88#VYx*******===+++++++++++++++++::::::::::::::::::++++:::::::::::::+++++++++++::::::::::::::::::::::::::::::::::::+++++++++++++====******xxxxxxx*==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVY*+--......... .......------------~~~~:::::++=******xxxxxxYYYxx***==++:~~~~~~~~~~~~:::~~~:::~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~:::::::++==============***xxxxxYV$###888888#Vx=+::~~~~:+xV$#$$V$#88888###888888888%%%%%%888#$Yx*******===++++++++++++:++++:::::::::::::::::::+:::::::::::::::::++++++++::::::::::::::::::::::::::::::::::++++++++++++++++====******xxxxxxx=+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Yx=:-.......... .. .. .........-----~~~~~~~~~~~~:::::++====**xxxxxYYxx*==++::~~~~~~~~~~~~~~~:::::~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::+:::++=========******xxYYVVV$##88888888#Vx=+:::::::+*V#####8##88888888888888###88%%%%%888##VYx******===+++++++++++::+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++=******xxxxxxx=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$**:---........ ..... ........----~~~~~~~~~~:::~:::::::+++===******=++:::~~~~~~~~~~~~~~:~~~:::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~:::::::::++++=======*******xxYVV$$$###888888#Vx=+::::::+=*Y$8#8888####8%%8888#####8###88%%%%88888#$VYx****=====++++++++:::::::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::::::+++++++++++++++++==************+:~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV=--........ . ..............-----~~~~~~~~~~::::::::::::+++++==++++::~~~~~~~~~~~~~~~~::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~~-~~~~~~~~~~~~:::::::::+++++==******xxxxxYYVV$$$###888888#Vx*=:::::++=*Y$#88888888#88%%%%8#$$###8####88%%%888888#$Vx*=======++++++:++++:::::::+++:++:+:::::::::::::::::::::::::::::::++++::::::::::::::::::::::::::::::::::::++++:+++++++++++====********==*:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%**~.-....... .... . ... . .......---~-~~~~~~~:::::::::++::::::::::::::~~~~~~~-~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~:::::+++++==***xxxxxYYYVVV$$$##8888888#$Y*=++::++==*x$#88888888888%%%%%%8####88####88%88######$VY*===+===++++++++++++:+++::::::::::::::::::::::::::::::+++:::::::::::::::::::+++:::::::::::::::::::::::::::+++++++++++++++++===********==*=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=x*:---...... ... .................-----~~~~:~~::::::::::::~~~~~::~~~~~~~~~~~~~~~~~~~~:~~::::::~~~~~~~~~~~~~~~-~~~----~-~~~~~-~~~~~~~~~~~~~~~~~~~~::::::::++==**xYYYxxxxYYVV$##888888888#VY*==++++==*xY#8%8888888%88%%%%%%%%88888###8888#$$$$$$$Vxx===++++++++++++++:++++++++:::::::::::::::::::::::::::::::::::::::::+::::::::++:::::::::::::::::::::::::::++++++::+++++++++++====*=***===*++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$%=+-.-...... . ......................----~~~~~~~~~~~~~~:::~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::++++==***x***xxxYYV$##888888%%8#$Yx*=+++===*xV#88888888%%%%%%%%%%%%%88888888##VYYY$$VYx**=+:+:++++++++:::::::+:::::::::::::::::::::::~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::+++++++++++++============++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V+---....... ............. .............---~~~~:::::~~~~~~~~~~~~~~~~~~~~~~-~-~~~~~~~~~~~~~:::~~~:~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~::~~~~~~~~~~~~~~~~~:~~~~:::++++++++=====***xxYV$$#######88%8$Vx**===***xxV#####$##888%%%%%%%%%8888888888$VYxYVVVx*===+:::::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++========++=:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#x*~-....... .............................--~~~~::::::::~~~~~~~~~~~~~~~~~---~--~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::++++++++==***=**xxYV$####$$$#888#VYx******xxY$##$$$$$$####888888888888888$VYxxYVVYx*=+++:::::::::::::~::::::::~~~~:~:::~~~~::~:~~~:::::::::::::::::::::::::::::~::::::::::::::::::::::::::::::::::::::::++++++++++++++++=======++=+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x*:--.....................................----~~~::::~:~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~:::::::::::::::++================*YV$###$$V$$#88#$VYxxxxxxxYV$###$$$$$$###88888888888##$YxxxVVYx*+++:::::::~:~~~~~~~~~:::::~:~~~~~~~~~~~~~:~~~~~~~~~::::::::::::::::::::::::~~~~~::~::~:::::::::::::::::::::::::::::+++++++++++++++++++========+=+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVx=:--........... .......................--------~~~~~~~~~~~~~~~~~~~~---------~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~::::::~~::::::::+++======++===*==*xV$$$####$$$####$VYxYxxxxxYV$##########88888888888#$YxxYYVYx*+:~::::::::~~:~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::~:~~~:~:~:~~~~~~~::::::::::::::::::::::::::::++++++++::+++++++++++======+=+~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVY+~-....................................--------~~~~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~--~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::~~::::::++::+++====+++====+=*YYVVV$$####8####$VVYYxxxxYV$#8888#####8888#####$$VVYYYYYx=+::~~~~~:::::::::~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~~~~:~~~~~~~~~~~::::::::::::~~:~:~~::::::::+::::::::::::++++++++++=======:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xVV*+-....... ...............................--------~~~~~~~~~~~~~-----------~~~~~~~~~~~~~~~~-~-~-~~~~~~~~-~~~~~~-~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::++++++++++===+++++++++==**xxYYV$$$#####$$$VY**=xYV$$##$$VVVVVVVYYYYYYYYYYxx**=+:~~~::~~~::::~:::::~~~~~~~~~~~~~~~~~~-----~~-~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~:~~~~~~~~~:::::::::~~~~~~~~~~~~~::::::++::::::::++++++++++++++++++====+:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$VVx=:-........ ................................--------~~~~~~~~~------------~~~~~~~~~~~~~~~~~~~---~~~~--~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::+++++++++====+++++:::++=====*xxxYVVVVVV$VVYxxxxxxxxxxx****xxYYYYYxxxxx*=++:::::~~~~~~~~~::::::~~~~~~~~~~~~~~~~~~~---~~~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~::~~:::~~~~~~~~~~~~~~~~:::::::::::::::::::+:+:++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$Vx++~...........................................----.---~~~~--------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~-~--~-~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::+++++++++++===++:::::++++++++====****xxYYYYYYVYYYxxxxxxxYYYxYYx**===+==+::~~::~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~----~-~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::+++++:::+++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$*+~-.................................................-------------------~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::+++==++++++++++:::::::::::++++++++++====****xYYxxxx*xxxxxx**==++::::::::~~~~:::::::::::::~~~~~~~~~~~~~~~~~~~~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~::::::::::++++++::::::++++++++++++++++==:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=***:-................................................---..-.-.....------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:~~~~~~~~:::::::::++=+++++++++::::::::::::::++:+++::+++++++=========+++==+=++::::::::~~~:::~~:::::::::::~~~~~~~~~~~~~~~~~~~~~-----------~~--~-------~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~:::::::+++++++::::::::+++++++++++++++:++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:++~-.................................................----....-.------~~~~~~~~:~~~~~~~~~~~~~~~~~~::~~:::::::~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::+++++++++++++++::::::::::++::::::::::+++++++++++==+++++::+++:::~~::~::::::::::::::::~~~:~~~~~~~~~~~~~~~~~-------------------------~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::+++++++++++++++++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=xx+~...........---............ ................................-----~~~~~:::~~~~~~~~:~~~~~~~~~~~::::::::::::::::~~~~~~~~~~~~~~~~--~---~~~~~~~~~~~~~~~~~~~~~:::::::::~~:::::::::+++++::::::::::::::::+++::::::::::::+:::::+++++++++++::::::::::::::::::::::::::~~::~:~~~~~~~~~~~~~~~~--------------------------~~~~~~~~~~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::~::::::::::::::+++:+++++++=+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xY+--...........----......................................---~~~::::+++++++++::::::::::~~::::::::::::+++:::::::::~~~~~~~~~~~~~~~--~-------~~~~~~~~~~~~~~~~:::::::::::::::::::::++++++:::::::::::::::+++++:::::::::::++++++::::+++::::::::::::::::::++::::::::::~~~~~~~~~~~~~~~---------------------------------~~~~~~~~~:::::::~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+++++++++++==::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx=~-..............----...............................--~~:++===***********==========++++++:::::::+++++++:::::::::~~~~~~~~~--~-~---~-~~-~~~-~~~~~~~~~~:::~~~:~~~::::::::::::::::::+::::::::::::::::::::++++++++:+++:::+++++++::::+:::::::::::::::::++++:::~~~::::~~~~~~~~~~~~~~~-------------------------~~~~~-~~~~~~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::~::::::::::::+:++:+++:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=**:-.................-----.........................~~:++===**************x****xx*xxxxx*****===++++++++++++::::::~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::++:::::::::::::::::::::::::++:+++++:++++++++++:::::::::::++++++++:::::::::::::::~~~~~~~~~~~~~-~~-~---------------------~~~~~~~~~~~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~::::::::::::::::::++++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V==:~-...................-----............... ...-~:++===**=***x*x***xxx****x**xx*xxxYxYYxxxxxxxxx**===++++++:::::~~~~~:~~~~~~:::~~~~----------~~~~~~~~~~~~~~~~~~:::~:::::::::::::::+++:::::::::::::::::::::::::++++++++:::::::::::::::+++++++++::::::::::::::::::~~~~~~~~~~~~~--~~~~----~~-~-------------~~~~~~~~:::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::+++++++~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x=~---....................----............ ..-~++========**xxxxxxxxxxxxxx**xxxxxxxYYYYYYYYYYYYYYYYxx**==++++::::~~~:::::~~~:::::~~-------~~~~~~~~~~-~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::+::::::::::::::::::::::~~~~~~~~~~~~~~~~~------------~-------------~~~~~:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::++++++==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*Yx+----......................----.......... .-:=*xxxxxxxx**xYYYYVYYVYYxYYYYYxxxxxYYxxxxxxxxYYVVVVYYYVVYYx*===++::::::::~~~~~~~~:~~~~------~~~::~~~---~~~~~~~~~~~~~~~~~:::::::::::::::::::::::~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::~~:~~~~~~~~~~~~~~~~~~~--~~-----------------------~~~~~:::::::::::::~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::~::::::::::::+++++++=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V*++~-.-.........................----...... ..~=xYVV$$$$$$$V$$$$V$$$$$$VVVV$VVVVVYYYYYxxxxxYYVVV$VVVVVVVVVVVYxx*==+++::~~~~-~~~~-~-----------~~~~~~~~-~~~~~~~~~~:~~~~~~~~::~::~::::::::::::::~~~~~~~~~~~~:::::::::::::::::::::+++++++++++::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~------~-----------------------~~~~~~:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~:::::::::::::::+:+:++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$x*:---....................--.............. -:=Y$$$$#############################$$$$VVYYYYVVV$$$$$$$$$$VVV$VVVYYx*=+:::~~~~~~~~--------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::~~~:::::::~::::~~~~~~~~~~~~~~~:::::::::::::~::::+++++++++++:::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~--~~------------------~---~---~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::+:++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$*Y=~~~---.............................. .~=Y$############888888888888888888888888#####$$####$$$$$$$$$$$$$$$$$VYx**=++:::~~~~~~~-----~~~~~~~---------~-~~~~~~~~~~~~~~::::::~:~~:::::::::::::~~~~~~~~~~~~~~~~~~:::~~:::::::::::+++++++:::::::::::::::::::::::::::::~~~~~~~~~~~~-~-~~~~~-------------------~~~---------~~~~~~~~~~---~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::~~:++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV*:-------------.................... .. .~+Y$####8888888####888888888888888888888%88888888888###########$$$$$$$$VYYYx*=+:~~~~~~~~-~---~------------------~~~~~~~~~~~~:::::~~~~~::~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~:~::::::::::::::::::::::~:::::::::::::::::::::~~~~~~~~~~~----~---------------------------------------~-----------~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::~:::::::~~:~:+*+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY=-......------------............ . .... .-:*V####888%%%%%88####88888888888888%8888%%8888%888888888888######$$$$$#$$$$VYx=+:~~~~~~~~~--------------------------~~~~~~~~::~~::::~:~:::::::::::~~~~~~~~~~~~~~-~-~~-~~~~~~~~~~~~~::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~~~~--~-------------------------------------------------------~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:::::::::::=xY$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=VY+-..-........---------.......... .. ..~=Y$##8888%%%%%%%8##8888888888888888%8%88%%%%%%%%%8888888888888#####$$$$#$##$$Y*+:~~~~~~~~~------------------------~---~~~~~~~~~~~::::::~~:::::~::::~~~~~~-~~-~~~~~---~-~~~~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------------------------------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~::::::~:+=xYV$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: *=:.............----------........ . .....~=x$###888%%%%%%%88#888888888888888888%%%%%%%%%%%%%%%888888888888####$$$#$###$Yx=+::~~-~-------------------------~~~~~~~~~~~~~~~~~~~~::::~~::::~~:::~~~~~~~~~--~~~~~--~--------------~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~--~~-~~--------------------------------~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~:::~~~::+*YYY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::~---.---------~~--------...............-.-:=Y$##88%%%%%%%%88###8888888888888888%%%%%%%%%%%%%%%%%888888888888###$$#$#$$VYx=+:~~~~~~-------------------------~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--------~-----~--~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------------------------------~~~~~~~~~~~~~-~~~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~::~~~::~::::=*YYY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:~-~~~-~~~~~~~~~~~:::::~~~~---.............---~:*YV$88%%%%%%%%88###88888888888888%%%%%%%%%%%%%%%%%%%8888888888888##$$###$VYx*=+::~~-~---------------------------------~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---------------------~---~~~~~~~~~~~~~~~~~:::::~~~~~~~~~~~~~~~~~~~~~-~--~----~----------------------------------~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~:::::::::::=*Y==:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~----......------~~~~~~~~~~~--... . ...-----~:+=*xV#8%%%%%%%%%8###88888888888888%%%%%%%%%%%%%%%%%%%8888888888888##$$###$VYxx*=+:~~~------------------~~-~~~~~~~~-----~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~-~~~~~~-~~~~------------------------~~~~~~~~~~~~~~~~~:~:::~~~~~~~~~~-~-~~~~~~~---~--------------~--------------~--------~~-~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~::::::~~~~:::::::::::+=xV=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++--................--.-------..... .....---~~:+=*xYV$8%%%%%%%8####88888888888888%%%%%%%%%%%%%%%%%%%8888888888888######$VVYxx*=+:~~:~~~-~---------------~~~~~~-~~~--~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~---~~~------~~~~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~---------~-~------------~~~-~-----~~~~~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~:~~~~:::::::::::::+=xV=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=VV~-...............------...............----~:++=****x$8888888$$##888888888888888%%%%%%%%%%%%%%%%%%%%%888888888888888##$VYYxx*=+:~~~~~~~~~~-~~~---~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~----~~~---~~~~---~~~~~--------------~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~-----~-~~~~~~~~~~--------~~~-~~~~~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::~-:=xVx::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ *x~... .........----------.-.--.....-.-.---~:+==**=++=*YV$$$$$$$##88888888888888888%%%%%%%%%%%%%%%%%%%%888888%8888888#$$VYx**=+::~~~~~~~-~~~~~~------~~:~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------~~~~~~~-~~~~~~~~~-------------~~~-~~~~~~~~-------~~~~~~~~~~~~-----~~~------~~~~~~~~~~~~~~~~~~~~~~~-----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::++~++:+++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VYx+-...............------......------------~~:+*xxxxx***xYYVV$$###8888888888888888888888%%%%%%%%%%%%%%%%%%%%%%%%%%%%88##$VYx**==+::~~~~~~~~~~~~~~------~~~~~~~~~~~---~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~-~~~~~~~~~~~~-~-------------------~~~~~~-------~~~~~~~~~~---~-~~~~~~~----~-~~~~~~~~~~~~~~-~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~:::::::::::::::::::::+++++++==+:$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=%Yx:-...............--...........--------~~~:::+=xVV$$$$$$$$$######8888888888888888888888888%%%%%%%%%%%%%%%%%%%%%%%%8###$$Vxx*==+++::::~~~~~~~~~~~~~~~---------~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~-~~~~~~~--~~~---~--~---------------------~~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~:~~~~~~~~~~::::::::::::::::::::::+++++++++++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=xY+-...............----...........-------~~~::++=xY$###############8888888888888888%%88888####888%%%%%%%%%%%%%%%%888##$$$VYx*=++::++::~~~~~~~~~~~~~-~~-~~-~~----~~~~--~~~-~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~--~~~----~~~~~------------------~---~~-~~~~-~~----~~~~~~~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::~~~~~~~~~~~~~~~:::::::::::::::::::::++++++++++=:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+=*~-...........-.....--...........-------~~~:::++*xV###############88888%%888888888888%888888#######88%%%%%%%%8888##$$V$VVVx*=++::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----~~~~~~~~-------~~~-~-----------------------~~~---~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::~~~~:::~~~~~:::::::::::::::::::+++++++++++=++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Yx+~--.-...............-...........-----~~~~::+::+=xY$################8888%%88888888888888%8888888#####8888888888##$VVVVVVVYx*==++:::::::~~~~~~~~~~~~~~~~~~~:~~~~~~~:~~~~~~~~~:::~~~~~:~~~~~~~~~~~~~~~~-~~~~~~---~~~~~~-~~~----~~~~~-------~-~------~~--------------------~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~::~:::::::::::::::::::::::::::::::::::::::::++++++++++==++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx+~--...............-------..-.-----~~~~~:::::++=*xxV$#################88%%888888888888888%%%%%%8888888888888####$VVYYVYYY**==++++::::::~:~~~~~::::~~~~:::++::::::++::::~::::::+::::::::::::::~~::::::~~~~~~~~~~~~~~~~~~~~~~--~-~~~~~-----~~~~~~--~~~---------------~--~~~----~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::++++++++=+==+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x*+~...........------~~:::~--------.-~~~~::~~::+=****YV$###############888%%%8#8#8888888888888%8%%%%%%%%%%888##$$$$$VYYxxxxx*=++++::::::::::::::+==++:::::++++::::++=++::::::::::::::::::::::::::~~~:::::::~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~-------------~~~~~~~~~~~~~~~~~~~~~~~~~~--------~---~~~~~~-~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::+++++++=+:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V**+~-....----~~~~~~~~~~~~~~~~~~~------~~~~~::::++==**xxVV$$#############88%%%88##888###8888888888%%%%%%%8888##$$$VVVVVVxx*xx*==++::::::++:::::+==*==+:::::::+::~~::++::::::::::::::::::::::~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~----~~~~~~~~~~~-~~-----------~~~~~~~~~~~~~~~~~~~-------------~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::+++++=++++~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VYx~~---------~~~-~~~~~~------~~--~~~~---~~::::+++=**xxxYVV$$$##########8888%%88###88#8##888888888888%%%88###$$$VVVYxxxxx*****==+++::::+===+::::+===+:::::~~~~~~~~~~~~~~~~~~~~~:~~~::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~-~~---------------~~~~---~~~~~~~~~~~~~------~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++=+==+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVx+~~~~-----------------..-----~~~~~~~~~~:::::++=*x**xYVVVVVV$######88888%%%%888888##88888888888888888##$$$$VVVVVVYxx****=**==+++::::+=*x*=::~:::+::~~~~~~~~~~~~~~~~---~~~~~~~~~~:::::::::::::~~~~~~~~~~~~~--~-~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~--~~-----~------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~:~~~:~~:::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx*+~~---------............-----~~~~::::::::+:++===**xYYYYYYVV$$######88888%%%888888##8888888888888###$$VVVVVVYYVVVVYx**=====+++++++:::+=++++:::~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~:~::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~-~~~~~~~~--~~~~~-------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++=+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+==:--------...........-----~~~~~~~~~~:::+++====**=**xxxxxxYVV$$$$#####8#888%888888888888888888####$$$VVVVVYVV$$VYYYYx**==========:::::::::~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~----~~~-~~---------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++=++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV=~~---..........----------------~~~::::++++==*x***xxxxxYYYVVV$$$$$######88888#88888888888#######$$$$$$VVYYYVVVVYx****=++++=*Yx*=::::::::::~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::~~~~~~~~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~-----~~~~~~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV=~--..............-------------~~~~~~:::::+==****xxxxYYYYVVVVVVVV$$######8888888888#88888##$####$##$$$$VVYYYYYYYYYYxx*=++++=***=:::::::::::~~::~~~~~~:~~:~~~~::::~~~~~~~~:::::::++::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~-~-----~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:~~~::~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++=+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Yx:-.............----....-------~~~~~~~:~::+++====*xxYYYYVVVVVVVVVV$$$$$$$#8888####8####8#######$$$$##$$$$$$VYYxxxYYYY***==+:::::::::::::~~~::++++::::+++++::::::++::~~~~:::::::::++::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++===+++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+:------........--.....------~~~~~~~~:::+++=====*xYYYYxYVVVYYVVV$$$$$$$$###8###$$#####$####$$$$$$$$$$VVV$VVVYYxxxxxx*+===++++::::::::::::~:+=====+:::++===++:::++++++::::+++:::::::::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~~~:::~~:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++====+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==+-.---................------~~~~~~:::::++===*xxxxxxYYYVVYYYYYVVVVVV$$$$$$####$$$$$$$$$$$$$$$$####$$VVVVVYxxxYYxxxx**==**===+++++======+::=*Yxx==+:::++=+++:+:++:::::::+++++:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~::::::::::::::~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++=++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**~.-........-....----------~----~~:::::++==*******xxYYVVYYYVYVVVYVVVYYV$$###$$$$$$$$$VVVV$#######$$$$V$$VYYYVVYYxxxxxxYYx*=++==*xYxx*=+++=*xx*=+::::++++::::++++:::::::+++:::::::::::::::::::::::~:::~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::~::::::::::::::::::::::::~~~~~:~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++=~~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VY:.--.....---...-----------.---~~~~~~~::+===*====*xYYYxYYYYYYVVVVVVVYYVV$$#$$$V$$$$$$$VV$##$####$$#$$VVVVVVV$$VYx***YVVVx*=+++=*Yxx*=++:+++====++:::::::::::::++++::::::::::::::::::::::::::::::::::::::~~:::~:~~~~~~~~~~~~~:::::::::::::~~~::~~~~~~~~~~~~~~~~~~~~::::::::::::~:~~~~~~~~:::~~~~::::::::::::::::::::::::::::::::::::::+::::::::::::::~::~:~~~~~~~~~~~~~~~~~~~::::::::::+++++++++++++++++=:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V-+----...........---------.----~~~~~~~:::++===+=*xYYYYxYYYYYYYYVVVVVVVVVVV$$VVVVVVVV$$$$VV$$$$##$$$$VV$$$$$$$$VY****xYxx*=+++=++===++++++:::::++++:::::::::::::::+++:::::::::::::::::::::::+++:::::::~:::::::~::::~:~:~~~~~~::::::::::::::~~:::~~~~~~~~~~~~~~~~~~~:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::~::~~~~~~~~~~~~~~~::::::::::::+++++++++++++++==+=*::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx~---.......-....---...------~~~~~~~~:::++++=***xxYYYYYYYYYYYYYYYVVVVVYVVVVV$VVVYVVV$VVVVV$VV$$$$VV$##$$$$VVVVYx****===+++===+:::+++:+++::::::+++:::::::::+:::::::++:::::::::::++:::::::::::::::::::::::::::~~:::~::::::::::::::::::::::::~~::::~~~:::~~~~~~~~~:::::::::::::::::::::::::::::::~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::~~~~~~:::~~~~~~:::::::::::::++++++++++====+++++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV:--------......-.......-----~~~~~~~::::+++==**xxxYYxxxYYVYYYYYYYYVVVVVYYV$##$VYYVV$VVYYVVVVVVVVVV$$#$$$$V$VVYYYYxx*==++++====+::::+++++:::::::+++::::::+==++::::::+++::::::::::++++::+++:::::::::::::::::::~~~:::::::::::::::~:::::::::::::::::~~~~~:::~~~::::::::::::::::::::::::::::::~~~:~~~~~~::::::::::::::::::::::::::::~:~:::::::~~~~~~~~~~~~~~~~:::::~~~~~~::::::::::::::+++:++++++++++++++=+==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V:-------....-..........-.--~~~~~~~~~:::+++=***xxYYxxxxYVVVVYVVVVVV$$$$V$$##88#$V$$$VVVVVVVVVYVVVV$$$$VVVVVVYYYYVVYx======**x*=+:::+===++:::::+++++:::::+=*==++++++++++::::::::::++++:::++++::::::++:::::::::~~:::::::::::::::::::::::::::::::::::~~~::::::::::::::::::::::::::::::::~~~~~~~~~::~::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::~~~~:::::::::::::::::+++++++++++++++++=**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V+:~-----................---~~~----~~~:::::++===**x*xxYYV$$$$$###888888888888%%888###$VV$$$$VVYVVVVVVVYYYYVVYYYYVVVYx***xxYYYx**=+++=====+++++++==+++:+++++====++++++++++:::::::::++++++::+++++++++++++++++++::::::::::::::::::::::::::::::~~~::::::~~~:::::::::::::::::::::::::::::::~~~~~~~~~~::::::::::::::::::::::::::::~~~~:~:~~~~~~~~~~~~~~~~::::::::::::::::::::::::::++::::+++++++:++++++++++==xY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::~-----..--............-~~-------~~~~~~~:::::+++=*xxYVV$$$#888%%%%%%%%%%%%%%%%%%%%88#8888#$VYYV$VV$VYxxYVVVYVVVVYYx*xxxxYYx*===+==***=++++++====+++::++++++====+++++:::::::::++++++++++++++++====++++++++++++:::::::::::::::::::~::::::::~::~~::::::::::::::::::+:::::::::::::::::::::::::~::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~:::~::~~~~~~~~~::::::::::::::::::::::::+::+++++++++++=++=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::-.---.---...........---~~~----~~~~~~~~~~~~~:::+=*xYVVVVV$###88%%%%%%%%%%%%%%%%%%%%%%%%%%8$VVVV$$$$VYxYV$$$$$VVYxxxxx*xx**===++++=*===+++++++=++++++++++++++++=+++:::::::::::++++++++++++++++=***==+++++++++:::::::::~:::::::::~::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~::::~:~~~~~~~~~::::::::::::::::::::::::::+++++++++++++++===:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+-.---.---........----~~-------~~~~~~~~~~~~~~::+=xYVVVVVVV$$$$##88888%%%%%%%%%%%%%%%%%%%%8#$#######$VVV$$$#$$VVYYxxxxxx**======+++=++++++++++++==+++++++++:+++++++::::+:+::::::+++++++++++++==========++++++::::~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~:~:~~~~:::::::::::::::::::::::::::::::~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~:::~~~::::::::::::::++++++++++++++==*~:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::-...---........-----~~~------~~---~~~~---~~~::+=xYVVVV$VVV$$$$$#####8888%%%%%%%%%%%%%%%%888%%%%8888#$#8#####$$VVYYYxxx**==****=+++++++++=+++++==++++++:::::::::++++:::+:+++++++:++++++++========++++++++++++:++::~~::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~:::::::::::::::+::+++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=~-..---......-----~~~-------~~----~-------~~~~+*xYVVV$$VV$$$$$$$$$$$###8888888%%%%%%88888%%%%%%%%%888%%%%888##$$$VYYxxx*******=++++++++++++++++=++++++++::::::::++=++:::++==+++++++=++++===*===++=+++++++++:++++::~:::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~:::~~~:::::::::::::::::::::::::~~:~~~~~~~~~----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::+++++++==++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY:-..--....-...----~---------~---------------~~:=*xYVVVVVV$V$$$$$$$$$$$$#######88%88%88888%%%%%%%%%8%%%%%%%%%8888##$VVYxxx***===+++++=++++++++++++++++++++:::::::+++=+++++++===+===*=***===*xx*======+++++++++++++::::::::::::::::::::::::::::::::::::::::::+::::::~~~~~~~~~~~~~~~::~::::::::::::::::::::::~:::::~~~~~~~~~~~~~~~~~--~---~~~~~~~~~~~~~~~~~~~~~~~~~~~:~:::::::::::::::::::::++++++++xx+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**~.---.........------------~~---------------~~:+=*xYYYVVV$$$$V$$$$$$$$$$$#$#$$$##8#88##88888888888888%%%%8%%888%888#$VVYYx**==++++++++++++++++++++++++::::::::++++=========****=**xxYYYxx**xYYYx****=+++++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~::::::::~::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::++=====*$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV:----........------------------------------~~~:+=*xxYYYVVVVVVVV$$$$$#####$##################8######8888888888888888####$$VYx**=====+++++++++++++:+++++:++++++===*****xxxxxYVVVxxYV$$#$$VVYVVVVVYYx*==++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~:~::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::~:::::::::+++===+=*V$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=++~.-.........--------------.---------------~~~::++=*xYYYVVVVVVVV$$$$$###$$###################$$######888####88888888888##$$VYYxxxxYx*===+++++++++=======*xxxxxxxYYYVVVVV$$$#8#$YYV##8###$$$#$$VVYx**==++++++++++::::::::::::::::::::::::::::::::::::::::::::::~~:~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::+++++++++:++=*+$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::~--........-------------.-------------~~~~~~~~::+==*xYYYYYVVVVVV$$$$$$$$$###################$$########8##888888####8888##$$$$$$$$#$VYx*==+====*xYVVVVVYVV$#$$$#$####$$$#8#8888$VY$$##$$$VVVYYYxx**==++++++++++++::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::~~~~~~~~~~~~:::++++++++===+++:::===@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:=V:-.........------..-----------------~~~~~~~~~~::+++=**xxxxxYYVVVV$$VV$$$$$$$#####$######$####$$#####################88888####8##8888$Vx===*YVVV$##88888####888888888##$####88##$VVVVVVVYYxx*=======++++:::++++++::::::::::::::::::::::::::::::::::::::::~~::::~~~::::::~~~~~~~~::::::::::::~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~::::::::::::~~~~~::::~~~::::::::::+++++++++=====+=++===@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:$$x~------.------------------------.~~~~~--~~~~~~::::++=******xYVVVVVV$$$$$$$$$$###########$###$$#########$$$$$$$##########8888#8888888#VYxYV$###888#88888#$##888%8888##$$VV$$$$$VVYYYYYYxx*****===++++::::::+++::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~:::::::::::::::::~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~::~~~::~~~~~~~~~~~:::::::::::::::++++++++=====+==:=*=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$%Y+-..---.------------------------.~~-~~~~~~~~~~~~:::+=======*xYYYYV$$VV$$$$$VV$$$######$$$$##$$$########$$$VVV$$####$$$$##88####8888########$$$$#####$$$###$##########$$VVVYYYYYYYYxxxxxx**==**===++++::::+:::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~:::::::~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::++++++++++++++++=+:x@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V ++-..---------------------------~~~~~~~~~~~~~~~~::::::::++==**xxYYVVVV$$$$$VVVVV$#####$$VV$$$$$$####$##$$$$$$$$$###$$$######$$######88888#$$VVVV$$$$VVVV$$$$$$VVVV$##$VVVVYYYxxxxxxxxxxxx*====++++++++::::::::::::::::::::::::::++::::::::::~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~~~~~::::~::~~~~~~~~:~~~~~~~~~~~~~~~~~~~~::::::::::++++++++++++++++++:==+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xYx:-----------------------------~~~~~~~~~~~~~~~~:::::::::+++==**xxYYVVVVYVVVVVVV$##$$$$$VYVV$$VV$$$####$$VV$$$$$$$$$$#####$$$$$###888888##$$VVVYVVVVYYYYYVV$$$VVYYYV$VVYYYYYxxx******=****===++:::::::::::~~::::::::::::::::::::+++:::::::::~~~~~~~~~~~~~~~::~~~~:::::::::::::::~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~::~::~~~~~~~:::::::+++++::::::++++++++===*=++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ x*~--------------------------------~~~~~~~~~~~~~~~~::::::++===**xxYYYYYYYVVVVYVV$VVVV$VVVYYVVV$VVVV$$$$VVYYYV$$VVVV$$$$$$$$$$#######$##$$$VYYYYYYVVYYYYYYYYYYYYYYxxxxxxxxYYYxx*=****+++++++++++::::::::::~~::::::::::::::::::::::++::::::::::~~~~~~~~~:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~:::~:~:::::~:~~~~~::~~~:~~~:::::::::::::::::::::::::::::::::::::++++++=====+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx+---..----.-.----------------------------~~~~~~~~~~~:::++=====**xxYxxYYYYYYYYYVYYVYYYYYxxxYYYYxxxYYYVYYYYxxYVVVYYVVVVVVV$$$#$$$$$$$VVVVVVYYxxxYYVYYYYYYxxxxxxYxxx******xxYYxx*====++:::::++++::::::::~::~~~:::::::::::::::::::::::::::::::::::~~~~~~~~:::::::::::::::::~~~~~~~~~~~::::~~~~~::::::~~~~::::~::::::::::::~::~~::::~:~~::~:::::::::::::::::::::+:+:::::::::::++++++=+++++=::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.**~-...----------------------------------~~~~~~~~~~~~:::+++=====**xxxxYYYxxxxxxxxxxxxxxxxx***xxxxxxxxxxxxxxxxxxYYYxYYYYVV$$$$VVVV$VVYYYYYYYxxxxxxxxxxxxxxxxxxx***x**************===+++:+::::::::::::::::~~~::::::::::::::::::::::::::::::::::::::~~~~~~~~~~::::::::::::::~~~~~~~~~~:::::::::::::::::::::::::::::~~:~~~~~~~~~:::::~~::::~:::::~::::::::::::+++++::::::::::++++++++++++=++-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY+-...----------------........----------~~~~-~~~~~~:::::++++=====**xxxxxxxxxxxx**x*xxxxxxx*******xxxx****xxxx*xxxxxxxYYYYYVVYxYYVYYxx**********************xx********=====*=======++:::::::::::::::::::~~:::::::::::::::::::::::::::::::::::::::::::::::~~~~:~~:::~~~::~~~:::::::::::::::~~~:::::::::~:~~::::::~:::::::::~:::::::::::::::::::::::::::::+:++::::::::++++++++=+=========+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY=:-...----...------.----..----------~~~~~~~~~~~~~~:::::::++++=+=*****xxx**xxx*****xx**xxxx*******x**=**==***=*****xYxxxxxxxx**xxxx***====*=*=====****************=*========++++++++::::::::::::~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~:::::::::::::::::::::::::::::::~~~:~:::~~:~:::::::::::::::::::::::::~~:::::::::::::::::::::::::++++++++=+++=======+==*=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVx+~.-.----.-------------..----------~-~~~~~~~~~~~~~~~~::::::+++=******xx**xxxx************xx********====+========**xxx**xxx***xx**==*===*****====*********=****=======**==++++++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~:::::::::::::::::::::::::::~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++=++=+++++++++++++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V8*x+-.------------.-.---------------~~~~~~~~~~~~~~~~~~~~::::::++=====*xxx**xxxx**=****=*******xx**==============++==***==***x**x*==+======****===******=====+======++++++==++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~:::~~::::::::::::::::::::::::::::::::~:::::::::::::::::::::::+:++++++++++++++++++===+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=#x*+~--.------........-------------~~~~~~~~~~~~~~~~~~~~~:::::::++++=*x****xxxx***************x**=============+++++======+==*==**==+++==++======***=***====+++++++++++++++++++++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~:~~~~~::::::~~~::::~~~~~~::::::::::::::::::::::::::::::::::::~:::::::::++:+::::::::+::++++++++++++++++=:-=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y =x+:~..-----.......---------------~~~~~~~~~~~~~~~~~::~~~~::~:::::+====***********=***===**==*===========++++++++++====++========++++++++===============++++++++++++++::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~::::::::::::~~~~~~~~~~~::~~~~~~:::::::::::::::::::::::::::~~~:~:::::::::::::::+::+:++:+:++++++++=+++++++++++=+:~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@VY=:-.-----...-------------------~~~~~~~~~~~~~~~~::~~~~~~~~~:::::++++=====****=======+===++===+===+++++++++++++++++==+++===++==+++++++++++======+++++++++++++++:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~::~~~~~::::::::::::~~~~~~~~~~~~~~~:::::~:~~~~:~::~::::::::::::::::::::::::::::::::+++:+:::::+++++++=++++======+====++~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VVVx=:------..---------------------~~~~~~~~~~~~~~::~~~~~~~~~~~~:::::::+++++====++++++++++++++=++====++++::+++++++++++=++++++++++++++++==++++++++++++::::++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~::::~:~:::::::~~~~~~~~~~~~~~~~~~:::::::~~~~~~~~~~~~~~:::::::::::::::::::::::::+++++++:::::::++++++++++==========*=+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YYxx+~--------------------------~--~~~~~~~~~~~~::~~--~~~~~~~~~~:::::::::::+++++++::::++::::::++++++++::::::++::+++++++++++++++:++++++++++++::::::::::::::::::::::::::~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~-~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::+++++:+::+::::::+++++++++++++===========+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$Vx:~------------------------~--~-~~~~~~~~~~~~~~---~~~~~~~~~~~~~~~::::::::::::::::::::::::::++::+++:::::::::::++++++++++++++::+:::::+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::::::~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~:::~~~~~:~~::::::::+++++++++++:::::::++++++====+++++++==+==+++:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V%Y=+~-----------------------~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::+++++:+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~:~~~~~~::::::~:::::::::::::::::::::+++++++++++++++++++++=+=+===+++=====+++==+~+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V#=x+--------------------~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::::::::::::::::::::::::::::::::::+::+:::::::::::::::::::::~~~~~::::::::~~~~~~~~~~~~~~::::~~~~~::::::::::::::::::::::::::::++++::+++++++++++++++++=+=++++++==++==+=Y++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==**~------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::~:::::::::::::::::::::::::+:::::::::::::+++::::+:+::::::::::::::::::::::::::++:+:+:+++++::::+::::::+++++::::::::::::::::::::::::::::::::::::::+:::::::::::::::::::~~~~~~~~~~~~~:~::~~~~~~~~~~~:::::::~~:::::::::::::::::::::::+++++++++::++++:++++++++++++++++++++++++=:==*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY=~-----------------~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::~::::::::::::::::::::::::::::::::::::::::++::::::+:::::::::::::::::::::::+:::::::++++++++++++++++:::++++++::::::::::::::::::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++====++=+==Y*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=VY+~--.-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~::::::::::::~::::::::~::::::::::::::::+++::::::::::::::+++:::+::++::::::::::::::+++++++::::::+::::++++++++++++++++++++::::::::::::::+::::::::::::::::::::::::::::::~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::+++++++++++++++++++++++++==+++++=========Y==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+==:---------------------~-~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~:::::::::::::::::::::::::::::::::::+++::+::++++::::::::::::::+++:::::::+++++++++++++++++:::::++++++++++++++++++++++++++:::::::::::::::::::::::::::::::~~:::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::+++:++++++:++++++++++=======+++====++++==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=xx+~----------------------~~~~~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::+:++++++++++++++:::::::::::::::::::::::::::::++++++++++++++++++++++:+:::+:+++++:+++++++++++++::::::::::::::::::::::::::::::~~~~~~::::::::::~~:~:::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::+++++++++++++++++=========+==++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+=x=:--------------------~~~~~~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~:::::::::::::::::::::::::::::::::++++++::::+++:::::::::+:::::::::::::::::::::+++++++:++++++++++++++++:::::::+:::::+++++++++++:::::::::::::::::::~~~~::::~~~~~~~~::::::::::~~~~~~~~~~~~~~:~:~~~~~~~~~:~~::~~:~~~~~:::::::::::::::::::::::::::::::::::+:+++++++++++++======*:V*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==$Y=+~-------------------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::+++:::::::::::::::::::::::::::::::::::::::::+::+:::+++++++++++++++++:::::::::::::++++++++++::::::::::::~~~~::~~~~~~~~~~~~~~~~~:::::::::~~~~~~~~~~~~~::::~::~~~~~:~~:~~~::~~~:::::::::::::::::+++:+::::+:::::::::++++++++++++++++===+=+*~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xY*x+~--------------~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~:~~~::::::::::::::::::::::::::::::::++::::::::::::::::::::+:::::+++++:+:::+:::::++++:::++++++++++++++++++++::::::::::::::+:++++:::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~:~~~~:~::::::::::::::::::::::::::::~~~:::::::::::::++:+:::::::::+++++++++++++++++++++++++=:=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==$Y*~~------~-----~~~~~~~-~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~::~~~:::~~~~:~~~::::~::::::::::::::::::::::++:::::::::::::::::::::::::::++++++:::++::+:++::::::::::::::++++++++++++::+::::::::::::::::::+:::::::::::~~~~~~~~~~~~~:~::~~~~~~~~~~~~~~~~~:~~::::::::::::::::::::::::::::::::::~:::::::::::::::::::::::::++++++++++++++++++++++++:==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*~x+:~--~--------~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::~~~~~~~:~:::~::::~::::::::::::::::::::::::::::::::::::::::::::::::+++:::+:+++++::::::::::+++++::::::+++++++++++:::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~::~~~~~::::~~~~~~~::~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:+++++++++++++++++=:.::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YV*x+~~~~~~~--~--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::~~~~~~~~~::~~::::::~::::::::::::::::+:::::::::::::::::::::+++++++:::::::::::+++::::++++:::+++++::::::+++++++++++:::::::+::::::::~~~~~:::::::::~~~~~~~~~~~~~~-~~~~~~~~~~~::~~~~~~:::::~:::::::::::::::::::::::::::::::::+:+:::::::::::::::::::::::+++++++++++++++++++~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@VY+:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~::~~~~~~~~~~~~:::::~:::::::::::::+++++::::::::::::::::::::+++++++:::::::::::::::::::+++++++++:::::::+++::+:+++::::::::+++::::::~~~~~~~~~:::::::~~~~~~~~~~~~~---~~~~~~~~~~~~:~~~~~:::::::~~:~~:~~~:::::::::::::::::::::::+:::::::::::+:::::::::::+++++++++++++++++:-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@V:$*~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::~~~~~:~~~~~~~:::::~~::::::::::::+++++::+:::::::::::::::::::++++++++:::::+:::::::::::+++++++:::::::::++::::::::::::::::::::::::~~~~~~~~~~~~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~:::::::::::::::::::::::::::::::::::::::::::::::+::::::::::::::+:::::++++++===+:+:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$8~++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::~:::~:::::::~~::::::::::::++++::::++:::::::::::::::::::++++++:::::::::::::+:::::+++++::::::::::::::::::::::::::::::::::::::~~~~~~~~~~~::::~~~~~~~::~~~~~~~~~~~~~~~~~~::::::~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::++:::++++++++++===+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-~*==:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::~~::::::::::::::::::::::::::::::++:::::::::::::::::::::+++++::::::+::::::::::::+++++:::::::::::+:+::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~~~~~~~~~~~~~::~:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++==++=+==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= Y*+:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::++::::::::::::::::::::::+++++::::::+:::::+++:::+++++::::::::::+:++::::::::::::::::::~~~~~~~~~~~~~--~~~~~~~~~~~~~~:::~~~::::::::::~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+:++++=+=====@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Y-Y**+:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::++++++:::::::::::::::::::::::+++++:::::::+:::::++::+++:+:+::::::::::::::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~::::::::::~~~~~~~~~~::::::::::::::::::::::::::::::::::::++++:+:+::::::::::::::+++::+=+*==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY**Vx*+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::+++++++:::::::::::::::::::::::++++:+::::::+:::::::+++++++::::::::+::::++:::::::::::::::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~:::::::~~~~~~~::::::::::::::::::::::::::::::::+++++++:++++++++::::+:+:::::+:=+:~*++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==x $Y=+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~:::::::::::::::::::::::::::::::::::::::::::::::++++++::::::::::::::::::::::::+++++++::::::+:::::::+++++:::::::::::::++++:::::::::::::::::::::~:~~~~~~~~~~~~~~~~~~~~~~:::~:~~~~~~~::::::::::::::::::+:::::::::::::::::::::::::++++++:++:+++::::++++++++:+:+* ::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV.$=:+:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~:::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::++:::::::::::::::++++:::::::::::::::++++:::+:::::::+:+++++::::::::~~~:::::::::~~~~~~~~~~~~~~~~~~~~~::::::::~~~~:~~:::::::::::::::::::::::::::::::::::::::::::::+:+:::::::::::+++++++++++=+~**::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$V-xx+:~-~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~:::::::::::::::::::::::::::::::::::::::::::::::::+++::::::+:::++:::::::::::::::+++++:::::::::::::+:::::+++++:::++++++++++::::::::~~~~~~~::::::::~:~~~~~~~~~~~:::::::::::::::~~~~~::::::::::::++::::::::::::::::::~:::::::::::::::::::::::::++:++++++:== :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xx*+:*::~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~::::::::::::::::::::::::::::::::::::::::::::::::::++:::::++:::++++::::::::+:::::+++++:+::::::::::++::::+++++:+:::+++++++++::::::::~~~~~~~::::::::::::::~~~~~~~:::~~::::::::::::::::::::::::::+++++::::::::::~:::::::::::::::::::::::::::::::::+:++:+~Y==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@== V=x+:~~~::::~~:~~~~~~~~~~~~~~~~~~~~~~::::~~::::::::::::::::::::::::::::::::::::::::::::::::::::++::::+++++++++:::::::::++:::++++++++++:::::::++++:+++++++++::::+++++++++::::::::::~~~~~::::::::::::::::~~~~:::~:~:::::::::::::::::::::+++++=+++::::::::::::::::::::::::::::::::::::::::~~::==+~=~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VY+==~~::::::::::~~~~~~~~~~~~~~~~~~~~:::~~~~~:::~:::::::::::::::::::::::::::::::::::::::::::::::++:::::+:++++++:::::::::++::+++++:::++::+:::++++++++++++++++++:::++++++++:::::::::::::::::::::::::::::::::::::~~~:::::::::::::::::+:::::+++++++::::::::::::::::::::::::::::::::::::::::+=~~~=+:~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+~~=:~::::::::~~~~~~~~~~~~~~~~~~::::~~~~~~~:~:::::::::::::::::::::::::::::::::::::::::::::::+++::::::::+++++++:::::+++++++++++::::::++::++++++++++++++++++:::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:+::::::::::::::~~~~:::::::::::::::::::::::~:::~::+=Yx=~~+=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~++ ~:::::::::~:~~~~~~~~~~~~:~:::~~~~:~~~:~::::::::::::::::::::::::::::::::::::::::::::::::+:::::::::+++++++:::::++++++++++++:::::::::++++++++++++++++++++:++++::::++++::::::::::::::+::::::::::::::::::::::::::::::::::::::::+:::::::::::::::~::::::::::~~~~::::::::::~~::++++*+xx -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==+:~~:::::::::~~~~~~~~~::::::~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::+++::::::::+::::+::::++::+++++++++::::::::++++::::+++++++++++++++++++::::+++++++::::::::+++++::::::::::::::::::::::::+::::+:::::::::::::::::::::::::::::::::::::::::::::::~~~+*xxY=:*++:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::+:~-:+::::::::~~~~~:~~:::::~~:~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::::::+++:++++++++++:::::::+++++::::::+++++++:+++++++++::::::++++::::::::+++++++::::::++:::::::::::+++++++++::::::::::::::::::::::::::::::::::::::::::::~:::=*xV$-Y==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~::~:::+:::++:::~~::::::~~:::~::::::::::::::::::::::::::::::::::::::::::::::::::::::+++:::::::::::::::::+++:++++++++++::::::::::+::::::++++++++::::++++++++:::+++++::::::+:++++++++:::++++++::::::::++++++:::+++::::::::~:::::::::::::::::::::::~::::++++:++*YY.*Y$$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~::~==~*YYx*:~:~:~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+::+++::::::::::::::::::::+++++++++++++++++++::::::::+++++::++::::++++++++:++++++::::::++++++++++++++++:++++++++::++++++++++++++++::::::::::::::::::::::::::~~~~::+=***=+===xYY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@===~=**-$~~+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++::::::::::::::::::++++++++::::+++++++:::+++++++++++++::+++++++++::::++++::::++++++++++++=+++++++++++++++++:++:++++++++++++++:+:+::::::::::::::::::::::::++*xYVY~:*==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV~~:=~+:+:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++::::::::::::::+++::+++++++++::+++++++++::+++++++++++++:++++++++++++:+++++++++++++++++++++++++++++++++++++++:::::::::++++::++:::::+:::::::::~:::::::::++==*=+*xYxx@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==~+:+-~=+:~:~~:::::::~~~::::::::::::::::::::::::::::::::::::::::::++++:::::::::::::+:+++++++++++++++++++++++++::+++++++++::+++++++++++++++++++++++++++++++++++++++++++=++++++++++:::::::::::::::::::::::::::~~~~~:::::::++=+=x:*==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++-~+++--:::+++:~~:~~~::::::::::::::::::::::::::::::::::::::::+++++::::+:::::::::++++++++++++++++++++++++::::+++++++++++++++++++++++++++++++++++++++++++======++++++++++++++++:::::::::::::::::::::::~~~~~~~~:::::+=:+=Y ***@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~~~~~===+++::::::::~~~~:::::::::::::::::::::::::::::::::::+++:::::::++::::+++++++++:++++++++++++++:::+++++++++++++++++++++++++++++++++++++++++++++=====+++++++++++++:::::::::::::::::::::::::~~~~~~::::+*x:*x~ =YY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==*=:-=-++:+:+::~:-::::::+++:::::::::::::::::::::::+::+++++:++++++++++++++++++:+++++++++++++++++++++++++++++++++==+++++++++++++++++++++++====++====+++++++++++::::++:::::::::::::::::::::~~::::::=:x$$ **~::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==~::~=**=+::::::::+++++:::::::::::::::::::::++++++++++++++++++++++++++++:+++++++++++++++++++++++=+++++++======+++++++++++++===++++==========+++++:++:++:::::+::::::::~:~:+:::+=+::::~::==~@+:xVVV@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@====+=~~+++:::++++:+:+++::+++:::::::::+++++++++++++++++++++++++++++++++++++++==++++=+++++++++++++++====++++=+++++=++++++++++++=======++++++++~:::+:~~:::::::::::+~=~:+:~:=x===:~~::++~::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=+~~+-+=-:+:=+:=:=+=+=++:+::::+:+++::++++++=+++++++++++=++++++++++++++++===++++++++++++++++++++++++++++==++++++++++++++++++++====++::+=++:+=x=~:+~~~~::~+:::++#~:+~~~=*====@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~~++~:++=+:+-x=***++:::+=+=::+++++++++==++++++++++===+++++++++++++++===++++++===+=++++++++++++++++===+++++++++++++++++:++=Y**=+:::=:**=*$ ~~~~~Y~::~::::+:::@@@:::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@**==**++:::++++=-:+++==++====+++++++++=+====++++++++=++==+=++++++++++=+=:++++++++++=+=======*++++=+==+-====== # == .-+*+*===VY~~:::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++=~:++==+******@ +++++++=+=+~=++++++++ @@=* = ++++++::+ .+++++++++ = ===+==+= +++=+==+~======Y$$@:::~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::::::~+++++++++++::++++++++::::~~~~+++++++++~~~~+++++++++~~~~@++++++::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
3.238.250.105@honeybii.com ~
$ ls -l | tail -n 100 && echo "show last 100 asciis"