========~...~=================.....~.....:....:======~.:++++..............;;....
========:##;.=========~:~==+~~................~========~++++....................
========~;##~=========;##+++:~.................=========.:+:....................
=========::++=========###+++==~................~========....................++:.
===========++==========;++=====.................++======:...................:++:
========================~=====~..................~~===++:...................::+:
==============================.....................~=+++................;#;..;#;
=======================~.~=~~.......................~++:......;.:+......######:#
======================~..............................:+.........;#:;;#:;#######;
======================~.........................................:#####;#########
=====================~~..........++:.............................####:++#+;;###;
====================++..........:+++............................;;.:::;#++:####:
====================+;:..........+++::....................:+:....:..:.##++.;###;
====================~.++.........:++#;....................+++:....;..####...####
=======~~===========..++:.........:+##.............++;;..:++++.....:;####;...;##
:~~....:.:++++~~=::...++............:.............:+#####:+++:..;..;:####;..:;##
+...:...:+++++...+:.........................;##.:.:######;.+:;:#..###;:;#;:#####
.....:..:+++++....:#;.......................####;:.;######;.:+#;;.;###....##;:##
........:+++++....;;.........................;##:#;::..;###;+++##;;##:........;#
+:......:+++++....:......::.~:...............:#;;###;;.;###.:::###++;........;;#
++:....:+++++:..........~=++=~.................:.;#####;#;.:...:##++.;:..;#:###.
++:....:+++++..........:======:...................;+##;......;;:+#;.#;::;###;;..