>>589 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------
>>605 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------
>>606 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------
>>608 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------
>>608 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------
>>609 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------
>>610 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------
>>610 ------------------%########----------------------------------------##$%%%%%++%%%%%+$##/------------------------
------------------########+---------------------------------------->##%%%%%%%%%%%#%%$##$=----------------------
------------------########-----------------------------+-->+++=-----=##%%%%%%%%%%%#%%####----------------------
------------------#######-------=>+++++>-=---------+########%>---=---###%%%%$#$$%%##%%###/---------------------
-----------------########>--+$#$$########%---------$##$$/>----------%####%%%%$##%+$##+$##+---------------------
-----------------#######$%###-------=/$+>=---------->+$---=-----------###%%%%%$##%+##$+$#+---------------------
------------------#########=---->++$++#>-->+------>%==$########$>=-----###%%%%%$#%/%##%%$#---------------------
-----------------$######>-----=#########+/+%#-----#$##############=----###$%%%%%#$++###%%#---------------------
---------------=########>--->#############%%#+---->>###############----=###%%%%%$#%/+##$%+%--------------------
---------------##$%$#####--#####$##########%##>--=>###############$------###%%%%%##+/%##$+#=-------------------
---------------##$%+####%----+$###########$-##---$#############+----------##$%%%%%#%+%###+%+-------------------
---------------$##%+%###-------+%#######>---#%---//>>++++$+++$#+>=--------###$%%%%$$%%$##%+$-------------------
----------------##%++##---------------------#---------==---=/+>------------###%%%%%$%%%###%$>------------------
----------------##$+%##>-------------------##------------------------------>##$%%%%#%%%+##%%+------------------
-----------------##+###>-------------------+--------------------------------###$%%%%%%%$###%#------------------
-----------------$#$###>-------------------==------+=>----------------------##%%%$%%%%%#$$#$$%-----------------
------------------#####>----------------##%##----->####---------------------###%%%%%%%%##%##%#/----------------
-------------------#####--------------=>##%###----###+#>--------------------###%%%%%+%%$#%##%##----------------
--------------------#####----------------$+/--------------------------------###%%%%%%%%%##%+%##/---------------
--------------------=####/--------------------------------=----------------=###%%%%$%%%%##%%%$##---------------
----------------------$###/------------------>=------------=---------------=##$+%%%$$+%###%%%%###--------------
-----------------------###$+------------->$##$#######%----%##+--------------##%+%++$#%%###%%%%$###-------------
------------------------##--=-------=######################/==-------------$##++++%$#+%###%%%%%###-------------
------------------------##-----------+###################=----------------+###+++%%##%%###%%%%%$##-------------
-------------------------##----------->-###############=---------------->####$+++%%##%%###%%%%%%###------------
--------------------------=$------------->#--//>>>--->/-------------=++######$++++%#$++###%%%%%%####-----------
----------------------------#=------------->----------------------$####$/####%++++$#%//$##$%+%%%####>----------
---------------------------->+>-----------------=----------+=----$##$+>=/##$#++/+%##+/+$###+%%%####-=----------
------------------------------------------------------------#++%#$>---=/###%#%+++$##+/$####$%%$$##$------------
------------------------------------------------------------####/=----=###%%$+++%##%%#######$%#$##-------------
-------------------------------------/>--------------------/##%=------+##$++%++%#$%$#############=-------------
--------------------------------------$+>------------------%+>-------=###$++%%%+%%##############$--------------