------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------▓-▓▓▓-------------------------------------
---------------------------------------▓▓▓------▓▓▓---------------------------------------
------------------------------------▓▓▓▓▓▓---▓▓▓▓▓▓▓▓▓▓▓▓-▓-------------------------------
-----------------------------------▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓-▓▓▓-----------------------------
----------------------------------▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓-▓▓▓--▓▓-▓▓----------------------------
---------------------------------▓▓▓--▓▓▓▓▓▓▓▓▓-▓▓▓▓▓▓------------------------------------
--------------------------------▓▓-▓▓▓▒▓▒▓▓▓▓▓▓----▓▓----▓▓▓------------------------------
-----------------------------------▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▒▓▓▓▓▓▓------------------------------
-----------------------------------▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓-----------------------------
----------------------------------▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓----------------------------
----------------------------------▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓--------▓----------------------------
---------------------------------▒▒▓▓▓▓▓------▓▓▓-------------▓---------------------------
--------------------------------▓▒▒▒▓▓▓-----▓▓▒▒▒▓-----------▓▓▓--------------------------
--------------------------------▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓--------------------------
--------------------------------▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▓▒▒▒▒▒▒▒▒▓▓▓▓-------------------------
--------------------------------▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓-------------------------
--------------------------------▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓----▓▓▓▓▓▓▓▓----------------------------
-----------------------------------▒▒▒▒▒▒▒▒▒▒▓▓▓------▓▓▓▓▓▓▓-----------------------------
-----------------------------------▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓---▓▓▓▓▓-----------------------------
------------------------------------▓▒▒▒▒▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓-----------------------------
-------------------------------------▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓--------------------------------
--------------------------------------▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓----------------------------------
--------------------------------------▒▒▓▓▓▓▓▒▒▒▓▓▓▓▓▓▓-----------------------------------
------------------------------------▓▓▒▒▒▓▓---▓▓--------------▓▓▓▒▒▒▓▓▓-------------------
------------------------------▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓--------------▓▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓----------
--------------------------▓▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓-------------▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓----
---------------------▓▓▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓---------▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓
------------------▓▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓--▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
---------------▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒
------------▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▒▒
----------▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
		
..........................................................................................
..........................................................................................
..........................................................................................
..........................................................................................
..........................................................................................
..........................................................................................
.............................................::::.^~^:....................................
......................................:^^^^^^~~^~~!!!~:::.................................
....................................~!!!!~^^^~77??~~!7!~~^:...............................
...................................~777!7~~7!!J7?J77??J!!^7!:.............................
..................................~!!!~!!?YJ7??!!77~!7?^~~!!7~:...........................
................................^?7!~^~?JYJ?!7!~777~!!^::^^^^^^...........................
................................?7~77!JJJ777!!~~^~^~~^::^~~!^^^...........................
................................~^~JY5PYJY5555555JJJJJ7!?J?!^::...........................
.................................^~YPPPGGGGGGPPP5PPPP5JJJJJ7~::...........................
.................................:?PPPPGPPPPP5555P55YYJJJJJ?7~:...........................
.................................^55YYJ?7!7777???77!~^^~~~~~~!~:..........................
................................~YPY?!!~^::::^!J?^:::::::::::~!~..........................
...............................:J5P5Y?!!~^~!7J5GPJ!!~~~^^^~!!!!!^.........................
................................5PPPPPP5Y55PPGGBGPYYJYYYY55YJ?77~.........................
...............................:5PPPGGGGGGGPGGBBBGPPYY5PPPP5Y?!!?:........................
...............................^PP5PPGGGPPPGGP5P5Y??J?JJJYYJ7!~~!:........................
................................^^?PPPPPPPGGJ7!!~^:::^7??77!!~~:..........................
...................................?55PPPPPP5YYJ?7!~~~~~7777!~^...........................
...................................:?5PP5JJJJY5YYJJ?7!7??77!!~............................
.....................................7JJJYPPPP5YJJ?77???7!~~~.............................
.....................................^?7?YYY555YJ7????77~^^^:.............................
.................................... :YJ7!!?JY5YJ?JJ?7!^^^^^^::::.........................
.................................::^!755YJ!~~~~~~~^~^^^^^^^^~~!?JJYJ?7!~^:................
............................:^!?YPPGGG5555YJ?!~~~^^^^~^^^^^~~~~?J5PPGGGGPP5YJJ?7~^:.......
.......................:^!?5PGBBBBGGGGPP555YYJ?7!~~~~^^^^^~~~~!?Y5PPPGGGGGPGGGGGPP5YJ7~:..
...................:~?YPGBBBBBBBBBBGGGPPP555YYJ?7!!~~~~~~~~~!!?JY5PPPGGGPPPGGGGGGGGPPPP5Y?
................~?YPGGGGGGGGBGBBBBBBBGGGPP5555YJ7777777!~~!7???Y5PPPPPGPPPGGGGGGGGGGGPPPPP
.............~?5PGGGGGGGGGPPGBGGBBBGGGGGGGGPPP5Y??JJYY?7!7?YYYY55PPPPGGGPGGGGGGGBBBGGGGGPP
..........:!YPPPPPPPPGGGGGPPPGBBBBBGGGGGGGGGGPPPYY5PP5YJYY55PPPPGGGGGGGGGGGGGGGGGBGGGGGGGG
........^?5PPPPPPPGGGGGGGGPPPPGBBBBBBBBGGGGGPPPPP5PPGPPPPPPPPGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
......:7PPPPPPPPPPGGGGGGGPPPPGGGBBBBBBBBBBGGGPPPPPPPPPPPPGGGGGGGGGGGGGGGGGGBBGGGGGGGGGGGGG