re did map

This commit is contained in:
2025-02-20 22:00:40 +00:00
parent b73c1f5fad
commit 77c036e1fc
4 changed files with 155 additions and 143 deletions

View File

@@ -1,71 +1,77 @@
88888 88888 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8 8 8 8 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8 8888888888888888888888888 8 ^^^^^^^^^^^^^^^^^^^^^^^^^
8 8 ^^^^^^^^^^^^^^^^^^^^^
88888888 88888888 888 888888 ^^^^^^^^^^^^^^^^^^^
8 8 8 8 8 8888 88 ^^^^^^^^^^^^^^^^^^^^
8 8 8 8 8 8 8 ^^^^^^^^^^^^^^^^^^^^^
88888888 8 8 8 8 8 88888 ^^^^^^^^^^^^^^^^^^^^^
8 8 8 8 8 8 8 8 ^^^^^^^^^^^^^^^^^^^^ ^
8 8888888888888888 88888888888 8 8 ^^^^^^^^^^^^^^^^^^D ^^
8 8 8 888888888 ^^^^^^^^^^^^^^D ^^^
88888888 8888888 88888888 88888888 ^^^^^^^^^^^ ^^^^^
8 8 8 8 8 8 8 ♣ ^^^^^^^ ^^^
8 8 8 8 8 8888888 ^^^^ CC
8 8 8 88888888 8 8 ^^ C CC C C
8 88888 8 8 8 8 ^CC C CCC CC C
8 8888 8 88 88888888 ^^i CC CCC CCC
8 88888 8 8 8 8 8 8 ^^^ii CC
8888888 8 8 8 8 8 8888888 ^^^i CC
8 8 88888888 8 88888888 8 ^^^^ i C
8 8 888888 8^^^ ii C
8 88888 8 8 8 888 88888 ♣^^^^ iiCC C
88888 8 8 8 8 ^^ CC C
8 88888888888888 8888888 8^ C
8 8 8 8 ^ CC
88888 888888 88888 ♣ ♣ ^ CC
8 8 ^ CC
8 C^
888888 ♣ ♣ ^ CCC^^
^^^^^^^^^^
^^^^^^^^
♣ ♣ ^^^^^^^
♣ ♣ ^^^
♣ ♣ ^
♣ ♣
♣ ♣
♣ ♣
♣ ♣
%%%%
% %
♣ % %
%%% %%
%
%% %
♣ ♣ % %%%%
% % % %
%%%% % %
% % % %
%%%%%%% % % %%%
% % % %
% % %%% % %
% %%%%% %
%%% %%%%%%%%
% %%
%
%%%%%%%%%
%%%%
% %
%%%%
#### #### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#### #### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
########################################### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#### #%%%%%%%%#%%%%%%#%%%%%%%%%%#%%%%# #### ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# # ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
# #%%%%%%%%#%%%%%%#%%%%%%%%%%#%%%%# # ^ ^^^^^^^^^^^^^^^^^^^^^
# #%%%%%%%%#%%%%%%#%%%%%%%%%%#%%%%# # ^ ^^^^^^^^^^^^^^^^^
# ###################%%%%########## # ^^^ ^^^^^^^^^
# # ^ ^^^^^^^^^
######### ########## ########## # ^^^ ^^^^^^^^^
#%%%%%%%# #%%%%%%%%# #%%%%%%%%# # ^ ^^^^^^^^
#%%%%%%%# #%%%%%%%%# #%%%%%%%%# # ^^ ^^^^^^^
#######%# ####%%%%%# #%%%%%%%%# # ^ ^^^^^
# #%%%%%# #####%#### # ^^^ ^^^^^
# ####### #%%%%%# # ^^ ^^^^^
#### ##%%%%%# ###%%## ####%### #### ^^^^^ ^^^^^
#### #%%%%%%% #%%%%%%# #### ^ ^^^^^
###################### ############## ^^^ ^^^^^
#### #### ♣ ^^^^^^^^^^^^^^^
♣ ^^^^^^^^^^
^^^
♣ ♣
♣ ♣
♣ %%%
% %%%%
%%% %%% %%%%%%%%%%
♣ %% % %%%%
% %%% %%%%%% %%
%%% % %%% %
♣ ♣ %% % % %
% %%%% %% %% %
♣ % % % %%%%%%% %
% % % %
% %% % % %%% %
%% %%%%% % %%% %
%%% % %% %
%%% %%%%%%%%% %%
%%%%%%%%%%%%% %%%%
%%%%%%%%%%
###
# #
###

View File

@@ -1,71 +1,77 @@
'''''''';;;;;;'''''''''''''''''''''';;;;;'''''''''''''''''''''';;''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
'''''''';;;;;;'''''''''''''''''''''';;;;;''''''''''''''''''''''';;''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''';;''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[
'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''';;'''''''''''''[[[[[[[[[[[[[[[[[[[[[[
'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''"'""'''''''''''''';;'''''''''''''[[[[[[[[[[[[[[[[[[[[[
'''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''"""""%"''''''''''''';;''''''''''''[[[[[[[[[[[[[[[[[[[[[[
'''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''"%%%%%""""''''''''';;'''''''''''[[[[[[[[[[[[[[[[[[[[[[[
'''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''""%%%%%%%%%''''''''';;'''''''''''[[[[[[[[[[[[[[[[[[[[[[[
''''%%%%%%;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''""%%%%%%%%%'''''''''';;''''''''''[[[[[[[[[[[[[[[[[[[[[[[
''''%%%%%%;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''""%%%%%%%%%"''''''''';;''''''''''[[[[[[[[[[[[[[[[[[[[[[[
''''%%%%%%;;;;;;";";;;;"""";;;;;";;;;;;''''''""%""""""""''"''''''';;'''''''''''[[[[[[[[[[[[[[[[[[[[[[
"''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''""''""'"""''''''''''';;''''''''''[[[[[[[[[[[[[[[[[[[[[[
"''''''''';;;%%%%%;;;;%%%%%%;;";%%%%%%;''''''''"''''""'"''''''''''';;'''''''''''[[[[[[[[[[[[[[[[[[[[[
'''''''''';;;%%%%%;;;%%%%%%%;";;%%%%%%;''''''''""'"'''''''''''''''';;'''''''''''[[[[[[[[[[[[[[[[[[[[[
'''''''''';;;%%%%%;;;;";;";;;;;%%%%%%%;%%%%%''''"'''''"'''''''''''';;''''''''''''[[[[[[[[[[[[[[[[[[[[
'''''''''';;;;;;;%;;;;";;;;;;";;%%%%%%;%%%%%''''""''''''''''''''''';;'''''''''''''[[[[[[[[[[[[[[[[[[[
'''''''''';;;";";;;;";;;%;;;;;%;;;;;;;;%%%%%%%""""''''''''''''''''';;'''''''''''''[[[[[[[[[[[[[[[[[[[
'''''''''';;";;;;;%%;%%%%;;";%%%%%%;;;;%%%%%'''''"'''''''''''''''';;"'''''''''''''[[[[[[[[[[[[[[[[[[[
'''''%%%%%;;;;%%%%%%;%%%%;;;;%%%%%%;;;;''''''''''"''''''''''''''';;''"'''''''''''''[[[[[[[[[[[[[[[[[[
'''''%%%%%;;";;;;;;;;%%%%;;;;;;;;;;;;;;'''''''''"''''''''''''''';;;''""''''''''''''[[[[[[[[[[[[[[[[[[
'''''%%%%%;;;;;;%%%%;;;;;;;";";;;;;";;;''''''''""'''''''''''''';;;;;;''"''''''''''''[[[[[[[[[[[[[[[[[
'''''%%%;;;;";;;%%%%%%%;;;;";;;%;;;;;;;;;'''''"''''''''''''';;;;'''';;;;""''''''''''[[[[[[[[[[[[[[[[[
'''''''';%%%;;";%%%%%%%%;;;";;;%%%;;%%%%;'''''"''''''''';;;;;'''''''''';;;;;''''''''''[[[[[[[[[[[[[[[
'''''''';%%%;;;;;;;;;;;;;;;;";;;;;;;;%%%;'''''"''''''';";'''''''''''''''''';;''''''''''[[[[[[[[[[[[[[
"''''''';%%%;'''''''''''';;;;;;''''';%%%;''''"'''';;;;;''''''''''''''''''''';;;;'''''''[[[[[[[[[[[[[[
'''''''';;;;;''''''''''''';";;'''''';;;;;'''""'";;;'''''''''''''''''''''''''''';;;'''''[[[[[[[[[[[[[[
"''''''''''''''%%%%'''''';;;;;''''''''''''';;;;;'''''''''''''''''''''''''''''''';;;;;'''[[[[[[[[[[[[[
'''''''''''''''%%%%%""""""";;";;;''''''';;;;;'''''''''''''''''''''''''''''''''''''''';;";;[[[[[[[[[[[
'''''''''''''''""""''''''''";;;;;;;''';;;""'"'''''''''''''''''''''''''""""""""""""'"'";;;;;[[[[[[[[[[
'''''''''''''''''''''''''''''''';;;;;;;;"'"""'"'""'"""''"'"''"'""''"'""'''''''''''"""'""';;[[[[[[[[[[
"''''''''''''''''"''''''''''''''';;;;;''''''"""''''''''''''''''''''''''''''''''''''''''''';''[[[[[[[[
"''''''''''''''''''''''''''''''''';;;;;;;"""'''""''''''''''''''''''''''''''''''''''''''''';;''[[[[[[[
''''''''''''''''''''''''''''''''''''''";;;;''''''""'''''''''''''''''''''''''''''''''''''''';''''''[[[
''''''''''''''''''''''''''''''''''''''''';;;"''''''"""'''''''''''''''''''''''''''''''''''"';''''''''[
'''''''''''"'''''''''''''''''''''''''''~'';;;;''''''~'""'''''''''''''''''''''''''''''''''';''''''''''
'''''''''''''''''''''''''''''''''''''''~'''';;''''''~'''""''''''''''''''''''''''''''''''';'"'''''''''
"'''''''~''''''''''''''''''''''''''''''~''''';''''~~''''''"""''''''''''''''''''''''''''';;'"'''''''''
''''''''~~~~~~~~~~''''''''''''''"'''''~~''''';;''~~''''''''''"""''''''''''''''''''''''';;''"'''''''''
'''''''''''''''''~~~~'''''''''''''''''~''''''';'~~''''''''''''""""""'''''''''''''''''';"'''""''''''''
''''''''''''''''''''~~'''''''''''''''~~''''''';'~~'''''''''''''""'''"""'''''''''''''';''''''"''''''''
'''''''''''''''''''''~''''''''''''''~~~~~~~~~~%~~''''''''''''''''""'''"""""'''''''''';'''''''"'''''''
'''''''''''''''''''''~'''''''''''''~~~~~~~~~~~%~'''''''''''''''''''""'''''""""""''''';;''''''"'''''''
'''''''''''''''''''''~''''~~~'''''~~~~'''''''';''''''''''''''''''''''""''''''''"""""";;;''''''"''''''
'''''''''''''''''''''~~'''~~~~'''~~~''''''''''';'''''''''''''''''''''''""'''''''''''';'';;;;;;"''''''
''''''''''''''''''''''~~~~~~~~~~~~~'''''''''''';'''''''''''''''''''''''''"''''''''';;'''''''';;;'''''
''''''''''''''''''''''~~~'''~~~'''''''''''''''';'''''''''''''''''''''''''''""''"""";''''''''''';;''''
''''''''''''''''''''''~~''''''''''''''''''''''';;''''''''''''''''''''''''''''""";;;''''''''''''';;;;;
''''''''''''''''''''''~~'''''''''''''''''''''''";;;'''''''''''''''''''''''''"";";;;''""""""''''''''''
'''''''''''''''''''''~~''''''''''''''''''''''''""";;;;;;;''''''''''''''''';;;;;;;;;;"""";"""""'''''''
'''''''''''''''''''~~~'''''''''''''''''''''"'''"'''''''';;;;;;;;;";;;;;;;;;''''""""";"""""""""""''''~
''''''''''''''''''~~~'''''''''''''''''''''''''"'''''''''';;'''''''''''''''''''"""""";"""";""";""''''~
'''''''''''''''::~~~~''''''''''''''''''''''''"'"'''''''';;''''''''''''''''''''"";""""";""""""""""'''~
''''''''''''':::~~~~~:''''''''''''''''''''"'"'"''''''';;;;'''''''''''''''''''''""""""""""";"""""''''~
:'''''''''''::::~~~~~~::'''''''''''''''''''"'''''';;;;;;'''''''''''''''''''''''''""";";"""""";"""''''
::::'''::::::~~~~;~~~~::::::'''''''''''''""";;;;;;;'''''''''''''''''''''''''''''''"""""""""""""""''''
:::::::::~~~~~~~~~~~~:::::::::::::::''';;;;;;''''''''''''''''''''''''''''''''''''''""""";"""""""'''''
:::~~~~~~~~~~~~~~~~~~~~:::::::::::::::;;;:::''''''''''''''''''''''''''''''''''''''''""""""~~~~~~~~~~~
:~~~~~~~~~~~~;;~~~~~~~~~~~:::::::::::;;:::::::::::::::::''''''''''''''''''''''~~~~~~~~~~~~~~~~~~'''''
~~~~~~~~~~~~~~;~~~~~~~~~~~~~~~~~~:::::;;:::::::::::::::::::::::::::::::~~~~~~~~~~:::::::::'''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::;:::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::::::''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:;:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::;:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::;;:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''####'''''''''''''''''''''''''''''''''''####''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''####'''''''''''''''''''''''''''''''''''####''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''###########################################'''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''####;#;;;;;;;;#;;;;;;#;;;;;;;;;;#;;;;#;####''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;#''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;#;;;;;;;;#;;;;;;#;;;;;;;;;;#;;;;#;;#'''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;#;;;;;;;;#;;;;;;#;;;;;;;;;;#;;;;#;;#'''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;###################;;;;##########;;#'''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#'''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#########;##########;;;;;;;##########;#''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;;;;;;#;#;;;;;;;;#;;;;;;;#;;;;;;;;#;#''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;;;;;;#;#;;;;;;;;#;;;;;;;#;;;;;;;;#;#''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#######;#;####;;;;;#;;;;;;;#;;;;;;;;#;#'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;;;;;;;;;;;#;;;;;#;;;;;;;#####;####;#'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''''#;;;#######;;#;;;;;#;;;;;;;;;;;;;;;;;;#''''''''''''''''''''''''''''''''''''''';;;;;;;;;'''''''''''''''[[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''####;##;;;;;#;;###;;##;;;;;;;;####;###;####''''''''''''''''''''''''''''''''';;;;;;'''''';;;;;;;;'''''''''[[[[[[[[[[[[[[[[[[[[[[[[
''''''''''''####;#;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;#;####'''''''''''''''''''''''''';;;;;;;'''''''''''''''''';;;;;''''''''';;;;[[[[[[[[[[[[[[[[[
''''''''''''######################;;;;;;;##############'''''''''''''''''''''';;;;;;''''''''''''''''''''''''''';;;;;;;;;;;;;;[[[[[[[[[[[[[[[[[
''''''''''''####'''''''''''''''''';;;;;;;''''''''''####''''''''''''';;;;;;;;;;'''''''''''''''''''''''''''''''''''''''';;;;;;''[[[[[[[[[[[[[[[
'''''''''''''''''''''''''''''''''';;;;;;;''''''''''''''''''''''''';;;''''''''''''''''''''''''''''''''''''''''''''''''''';;;''''''''[[[[[[[[[[
''''''''''''''''''''''''''''''''''';;;;;;;;''''''''''''''''''''';;;'''''''''''''''''''''''''''''''''''''''''''''''''''''';;'''''''''''''''[[[
'''''''''''''''''''''''''''''''''''';;;;;;;''''''''''''''''''';;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''
'''''''''''''''''''''''''''''''''''';;;;;;;;;;''''''''''''''';;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''';;;;;;;''''''''';;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''';;;;;;'''''';;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;'''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''';;;'''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;'''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''
''''''''''''''''~''''''''''''''''''''''''''''''''''''''''''~';;'''''''''''''''~'''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''
''''''''''''''''~~~~~~~~'''''''''''''''''''''''''''''''''''~';;''''''''''''''~~''''''''''''''''''''''''''''''''''';;'''''''''''''''''''''''''
'''''''''''''''''''''''~~~~~'''''''''''''''''''''''''''''''~';;''''''''''''~~~~'''''''''''''''''''''''''''''''''';'''''''''''''''''''''''''''
''''''''''''''''''''''''''~~~'''''''''''''''''''''''''''''~~';;'''''''''~~~~'''''''''''''''''''''''''''''''''''';;'''''''''''''''''''''''''''
'''''''''''''''''''''''''''~~'''''''''''''''''''''''''''''~~';;'''''''''~~~'''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''''''
'''''''''''''''''''''''''''~~''''''''''''''''''''''''''''~~'';;;'''''''~~~'''''''''''''''''''''''''''''''''''';;;''''''''''''''''''''''''''''
'''''''''''''''''''''''''''~~''''''''''''''''''''''''''''~~'''';;'''''~~'''''''''''''''''''''''''''''''''''';;;''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''~~~'''''''''''''''''''''''''''~~''''';'''~~~''''''''''''''''''''''''''''''''''';;;;'''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''~~~'''~~~''''''''''''''''''''~~'''''';;'~~~''''''''''''''''''''''''''''''''''';;;'''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''~~''~~~~~'''''''''''''''''''~~'~~~~~%%~~~''''''''''''''''''''''''''''''''''';;;''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''~~~~~~~~~~'''''''''''''''''~~~~~~~~~~%%~'''''''''''''''''''''''''''''''''''';;;''''''''''''''''''''''''''''''''''
::''''''''''''''''''''''''''~~~~~'''''~~~~~''''''''''''~~~~~''''';;'''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;'''''''''''''''''''''''
:::::::'''''''''''''''''''''~~~~''''''''~~~~''''''''~~~~~~~'''''';;'''''''''''''''''''''''''''''''''';;;;;'''''''''''';;;''''''''''''''''''''
::::::::::::'''''''''''''::::~~~'''''''''''~~~~~'''~~~~'''''''''';;;;''''''''''''''''''''''''''''''';;;''''''''''''''''';;;;'''''''''''''''''
::::::::::::::::::'''':::::~~~~~''''''''''''~~~~~~~~~~~'''''''''''';;;;''''''''''''''''''''''''''';;;'''''''''''''''''''''';;;;''''''''''''''
:::::::::::::::::::::::::~~~~~:''''''''''''''''~~~~~''''''''''''''''';;''''''''''''''''''';;;;;;;;;;;;%%%'''''''''''''''''''''';;;;;'''''''''
:::::::::::::::::::::::~~~~~:::''''''''''''''''''''''''''''''''''''''';;;'''''''''''''';;;;;''''';;;;;%"%%%%''''''''''''''''''''''';;;;''''''
:::::::::::::::::::::::~~~~::::'''''''''''''''''''''''''''''''''''''''';;'''''''''''';;;'''''''%%%;;;;%%%""%%%%%%%%%%''''''''''''''''';;;;;''
~:::::::::::::::::::::~~~~~:::::''''''''''''''''''''''''''''''''''''''';;;'''''''''';;;'''''''%%"%""""""""""""""""""%%%%''''''''''''''''';;;;
~~~~~~:::::::::::::::~~~~~:::::::'''''''''''''''''''''''''''''''''''''''';''''''''';;;'''''''%"%%%""""""""""%%%%%%"""""%%'''''''''''''''''';;
~~~~~~~~~~:::::::~~~~~~~~:::::::::'''''''''''''''''''''''''''''''''''''''';;;;;;;;;;'''''''%%%"""""""""""""%"""""%%%""""%''''''''''''''''''''
~~~~~~~~~~~~~~:::~~~~~~~~:::::::::::''''''''''''''''''''''''''''''''''''''''';;;;'''''''''%%"""""""""""""""%"""""""%""""%''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::''''''''''''''''''''''''''''''''''';;;;''''''''''''%"""%%%%""%%""""""""""""%%""""%''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::'''''''''''''''''''''''''''''';;;;;''''''''''''''%"""%""""""%"""""%%%%%%%""""""%''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::'''''''''''''''''''''''';;;;;;'''''''''''''''''%"""%""""""%""""""""""""""""""%''''''''''''''''''~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::::'''''''''''';;;;;;;;;;;;''''''''''''''''''''''%"""%%"""""%""""%""%%%""""""""%''''''''''''''''''~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::::'''''''';;;''''''''''''''''''''''''''''''''''%%""""%%%%%""""%""""""%%%"""""%''''''''''''''''''~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::::'''';;;'''''''''''''''''''''''''''''''''''''%%%"""""""""""%""""""""%%""""%''''''''''''''''''~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::''';;''''''''''''''''''''''''''''''''''''''''%%%""""""""""%%%%%%%%%""""%%''''''''''''''''''~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::';;''''''''''''''''''''''''''''''''''''''''''%%%%%%%%%%%%%""""""""%%%%'''''''''''''''''''~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::;;:::'''''''''''''''''''''''''''''''''''''''''''''''''''''%%%%%%%%%%''''''''''''''''''''''~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::;;;;;:::::::''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;;;:::::::::::::'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;;;~~~~:::::::::::::'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::;;:~~~~~~~:::::::::::::''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::;;:~~~~~~~~~:::::::::::::::''''''''''''''''''''''''''''''''''''''''''''''''''''''~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::###:::~~~~~~~~~~~:::::::::::::::::'''''''''''''''''''''''''''''''''''''''''''''''~~~~~~~~~~~~~~~~'''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::#;#:~~~~~~~~~~~~~~~~~::::::::::::::::'~'''~~~~''''''''''''''''''''''''''''''''~~~~~~~~~~''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::###:~~~~~~~~~~~~~~~~~~:::::::::::::::~~~~~~~~~~~~~~'''''''''''''''''''''''''~~~~~~~~~'''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::~~~~~~~~~~~~~~~~~~~~~:::::::::~~~~~~~~~~~~~~~~~~~~~~~''''''''''''''''''~~~~~~~''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'''''''~~~~~~~~~~''''''''''''''~~~~~~''''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::''''''''''''~~~~~~~~'''''''''''~~~'''''''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::::''''''''''~~~~~~~~~~~~~~~~~~~~~~'''''''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::'''''''''''''~~~~~~~~~~~~~~~~''''''''''''''''''''''''''''
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::~'''''''''''''''''''''''''''''''''''''''''''''''''''''''