::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::=++++=::::::::::::::::::-==+++++++++=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-=++++++++++++++++++++++++**######*=======-::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::-=+*****#%%#**********################%%%%+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-=++++++++++++++++++++++++++++++++*#########*++++++++++==-::::::::::::::::::::::
::::::::::::::::::::::::::=+*###########%%%%%%%%%%%%%%%%%%############%%%%+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+###*+++++++++++==================+********++++++++++++++++++-::::::::::::::::::
:::::::::::::::::::::-=+*#%%%%%##%%%######%%%%%%%%%%%%%####**=--------+**++=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+*##+==--::::::::::::::::::::::::::::::::::::::::::--=+++++++++++=-:::::::::::::
::::::::::::::::::-+++*###%@@@%%#**++++++++++++=--:-==+++++++:::::::::-+++++-::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::::::::::::::::::::::::-++++++++++++-:::::::::
::::::::::::::::-+++*###%%%##*++++++++==-:::::::::::::::::-::::::::::::-++++=:::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::-==+++***++-:::::::
::::::::::::::-++++*#*###*++++=:::::::::::::::::::::::::::::::::::::::::++++*+=-::::::::::::::::::::::::::::::::::::::::::::::::::::=###*-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=####+=:::::::
:::::::::::::+++++**+*##*++-::::::::::::::::::::::::::::::::::::::::::::=++*###+-::::::::::::::::::::::::::::::::::::::::::::::::::-*####-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*###+::::::::
::::::::-++=+++++++++++--:::::::::::::::::::::::::::::::::::::::::::::::-++*###*+::::::::::::::::::::::::::::::::::::::::::::::::::+####+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=::::::::
:::::::-++*#*+++-+++++-:::::::::::::::::::::::::::::::::::::::::::::::::-++*###*+=:::::::::::::::::::::::::::::::::::::::::::::::::*####:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=++++::::::::
:::::::-+###*++::-+++-:::::::::::::::::::::::::::::::::::::::::::::::::::=+*####*+::::::::::::::::::::::::::::::::::::::::::::::::+####=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=++++-:::::::
:::::::-####*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+*####*+-::::::::::::::::::::::::::::::::::::::::::::::=*###*-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++-:::::::
:::::::=####+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+*#####+=:::::::::::::::::::::::::::::::::::::::::::::-+####+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::
:::::::-+***-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++###*=:::::::::::::::::::::::::::::::::::::::::::::=*###+=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::
:::::::-++++-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++*##*+::::::::::::::::::::::::::::::::::::::::::::-+*##*+-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::
:::::::-++++-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++*###+-:::::::::::::::::::::::::::::::::::::::::::++###*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::
:::::::-++++-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++###*+::::::::::::::::::::::::::::::::::::::::::-+*##*++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++*-:::::::
:::::::-+###*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+*##*+-:::::::::::::::::::::::::::::::::::::::::-+*##*++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+*##+=::::::
:::::::-*###*-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*###+=:::::::::::::::::::::::::::::::::::::::::=++*#*+-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++*#*++::::::
::::::::+####+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++###++::::::::::::::::::::::::::::::::::::::::-++++=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=++*#*++::::::
::::::::-*###*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*##++-:::::::::::::::::::::::::::::::::::::::-++++=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+++#*++=::::::
:::::::::+*###+-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*#*++-:::::::::::::::::::::::::::::::::::::::-+##*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++##*++-::::::
:::::::::=+###*+-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++*#*++-:::::::::::::::::::::::::::::::::::::::-####+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=++*#*++=:::::::
:::::::::-+*##*+=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+*#*++-:::::::::::::::::::::::::::::::::::::::=####=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++*##+++::::::::
::::::::::=+*##*+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++=:::::::::::::::::::::::::::::::::::::::+####=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*##+++:::::::::
::::::::::-+*##*++-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=++++::::::::::::::::::::::::::::::::::::::-*###*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*##*++::::::::::
:::::::::::=+*##*++-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++::::::::::::::::::::::::::::::::::::::=*###*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++-::::::::::
::::::::::::++*##*++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+###*-::::::::::::::::::::::::::::::::::::+*###+=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+++++-:::::::::::
::::::::::::-++*%%##=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-*###*=:::::::::::::::::::::::::::::::::::-+*##*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+++++-::::::::::::
:::::::::::::-+*%%###-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*###+=:::::::::::::::::::::::::::::::::::+*%%%*=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+++++-:::::::::::::
::::::::::::::::=####*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::::::::::::::::::::::::::::::+%%%#*-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+*#*+:::::::::::::::
:::::::::::::::::+####+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=::::::::::::::::::::::::::::::::::::####*-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*####+:::::::::::::::
::::::::::::::::::*####=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::::::::::::::::::::::::::::::-*###*-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+*%%%%+-:::::::::::::::
::::::::::::::::::-*###*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::::::::::::::::::::::::::::::=+###*+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+*%%%%#=::::::::::::::::
:::::::::::::::::::=####*-::::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=:::::::::::::::::::::::::::::::::::++*##++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+#%%%%#-:::::::::::::::::
::::::::::::::::::::+####*=:::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++=::::::::::::::::::::::::::::::::::-++*#*++:::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+*%%%#*-::::::::::::::::::
::::::::::::::::::::-+####+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::++++=:::::::::::::::::::::::::::::::-==+++*#+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::++*%%%##-:::::::::::::::::::
:::::::::::::::::::::-+###*+-::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++:::::::::::::::::::::::::::::::+++#*+*#+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*%%%##=::::::::::::::::::::
::::::::::::::::::::::=*###*+::::::::::::::::::::::::::::::::::::::::::::::::::::::-++++-::::::::::::::::::::::::::::::++*#*+**+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::-*####+:::::::::::::::::::::
:::::::::::::::::::::::+*###*=:::::::::::::::::::::::::::::::::::::::::::::::::::::-++++-::::::::::::::::::::::::::::::++*##+**+++::::::::::::::::::::::::::::::::::::::::::::::::::::::::+####*-:::::::::::::::::::::
:::::::::::::::::::::::-+####+::::::::::::::::::::::::::::::::::::::::::::::::::::::++++=::::::::::::::::::::::::::::::-+##%%#*+++:::::::::::::::::::::::::::::::::::::::::::::::::::::::+####*-::::::::::::::::::::::
::::::::::::::::::::::::-+###+::::::::::::::::::::::::::::::::::::::::::::::::::::::++++=:::::::::::::::::::::::::::::::+#%%%##+++::::::::::::::::::::::::::::::::::::::::::::::::::::::*%%%#*-:::::::::::::::::::::::
:::::::::::::::::::::::::=++++-:::::::::::::::::::::::::::::::::::::::::::::::::::=+##*+=:::::::::::::::::::::::::::::::+#%%%##+++:::::::::::::::::::::::::::::::::::::::::::::::::::::*%%%%*-::::::::::::::::::::::::
::::::::::::::::::::::::=+##*+=:::::::::::::::::::::::::::::::::::::::::::::::::::=+###+=:::::::::::::::::::::::::::::::=#%%%%#+++::::::::::::::::::::::::::::::::::::::::::::::::::::#%%%%#::::::::::::::::::::::::::
::::::::::::::::::::::::=+*##*+-::::::::::::::::::::::::::::::::::::::::::::::::::=+###+=::::::::::::::::::::::::::::::::+#####+++::::::::::::::::::::::::::::::::::::::::::::::::::-#%%@@%++-::::::::::::::::::::::::
::::::::::::::::::::::::-++###++::::::::::::::::::::::::::::::::::::::::::::::::::=+###+=::::::::::::::::::::::::::::::::=###%#+++:::::::::::::::::::::::::::::::::::::::::::::::::-%%%@@%+++-::::::::::::::::::::::::
:::::::::::::::::::::::::=+*##*+=:::::::::::::::::::::::::::::::::::::::::::::::::=+###+=:::::::::::::::::::::::::::::::::#%%%%*++=:::::::::::::::::::::::::::::::::::::::::::::::=%%%@@#++=::::::::::::::::::::::::::
::::::::::::::::::::::::::=+*##*+-::::::::::::::::::::::::::::::::::::::::::::::::=+###+=:::::::::::::::::::::::::::::::::*%%%@#+++::::::::::::::::::::::::::::::::::::::::::::::-#%%@@#++=:::::::::::::::::::::::::::
:::::::::::::::::::::::::::=+###*+::::::::::::::::::::::::::::::::::::::::::::::::=+###+=:::::::::::::::::::::::::::::::::+%%%%%*++-:::::::::::::::::::::::::::::::::::::::::::::*#%%%*++-::::::::::::::::::::::::::::
::::::::::::::::::::::::::::=*####+:::::::::::::::::::::::::::::::::::::::::::::::=+###+=:::::::::::::::::::::::::::::::::=#%%%%#*+=::::::::::::::::::::::::::::::::::::::::::::###%%*++-:::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::=*####+::::::::::::::::::::::::::::::::::::::::::::::=*###+-:::::::::::::::::::::::::::::::::-##%%%#*+-:::::::::::::::::::::::::::::::::::::::::::=#%%%#++-::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::=*####=:::::::::::::::::::::::::::::::::::::::::::::=####+-:::::::::::::::::::::::::::::::::-##%%#++-:::::::::::::::::::::::::::::::::::::::::::--#%%##+::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::=####*:::::::::::::::::::::::::::::::::::::::::::::=*###-::::::::::::::::::::::::::::::::::-*##%%+++::::::::::::::::::::::::::::::::::::::::::++#%%##*-::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::=####*::::::::::::::::::::::::::::::::::::::::::::=++++::::::::::::::::::::::::::::::::::::*##%%*++=::::::::::::::::::::::::::::::::::::::::+#%%%%##=:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::+####*-::::::::::::::::::::::::::::::::::::::::::=++++::::::::::::::::::::::::::::::::::::=###%#+++-:::::::::::::::::::::::::::::::::::::=*%%%%%#+:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::*%%##*-:::::::::::::::::::::::::::::::::::::::::=++++::::::::::::::::::::::::::::::::::::-####%*+++::::::::::::::::::::::::::::::::::-++*%%%%#+:::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::++#%%##+-::::::::::::::::::::::::::::::::::::::::=++++:::::::::::::::::::::::::::::::::::::*###%*+++=:::::::::::::::::::::::::::::::::+*#@@@@%=::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::=+*#%%%*+-:::::::::::::::::::::::::::::::::::::::=++++:::::::::::::::::::::::::::::::::::::+#####+++=::::::::::::::::::::::::::::::::-+#%@@@%*-::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::-+*#%%#++-::::::::::::::::::::::::::::::::::::::=++++:::::::::::::::::::::::::::::::::::::+#%%%*==-:::::::::::::::::::::::::::::::::-#%@@@%#-:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::=+*###*+=:::::::::::::::::::::::::::::::::::::=++++:::::::::::::::::::::::::::::::::::::+#%%%*=::::::::::::::::::::::::::::::::::-+*%%%%#-::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::=++####+=::::::::::::::::::::::::::::::::::::=++**:::::::::::::::::::::::::::::::::::::+#%%%#+:::::::::::::::::::::::::::::::::=+*#%%##=:::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::=+*###*+:::::::::::::::::::::::::::::::::::=*###+-:::::::::::::::::::::::::::::::::::+*%%%#*-:::::::::::::::::::::::::::::::=+*#%%##+::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::-+*####+::::::::::::::::::::::::::::::::::=*###+-::::::::::::::::::::::::::::::::::::-*###*=:::::::::::::::::::::::::::::-++##%%##+-::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::=*####=:::::::::::::::::::::::::::::::::=*###+-::::::::::::::::::::::::::::::::::::-+####+::::::::::::::::::::::::::::=**######+=:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::-%%%%#=::::::::::::::::::::::::::::::::=*###+-:::::::---=---==---=---==---=---:::++*%%##*::::::::::::::::::::::::::=+*%%%%%#*+=::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::=*#%%#*=:::::::::::::::::::::::::::::::=*###*====================================*#*#%###=:::::::::::::::::::::::-++#%%%%%#*++-::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::-+#####+::::::::::::::::::::::::::::::=*%%%#+===================================+###%%##+::::::::::::::::::::::=+*#%%%#%*+++-:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::=#####*-::::::::::::::::::::::::::::=#%%%#+===--::::::::::::::::::::::::::::--=***%%##*-::::::::::::::::::::++###%##**+++-::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::-*####+-:::::::::::::::::::::::::::=*#%#+-::::::::::::::::::::::::::::::::::::-++#%%##-::::::::::::::::::=+#%%%#+=::=++-:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::=*%%#*+-:::::::::::::::::::::::::::-++++-:::::::::::::::::::::::::::::::::::::=+*##++::::::::::::::::::+*%%%%#*-::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::+##%%%*+=::::::::::::::::::::::::::-++++-:::::::::::::::::::::::::::::::::::::=+###*+=:::::::::::::::=*#%%%%#+::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::-+##%%%%*+:::::::::::::::::::::::::-++++-:::::::::::::::::::::::::::::::::::::-+###*++-::::::::::::-*#%%%%##-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::-*#%%%###=-::::::::::::::::::::::-++++-::::::::::::::::::::::::::::::::::::::=*###*+-::::::::::::*%%%%%#+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::=*###%#*+=::::::::::::::::::::-++++-:::::::::::::::::::::::::::::::::::::::+##%#::::::::::::=+#%%%#+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::-*%%%%#+++-:::::::::::::::::-++++-:::::::::::::::::::::::::::::::::::::::+%%#*::::::::::=+*%%%%#+=-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::-*#%%%%#*++=::::::::::::::::++++=:::::::::::::::::::::::::::::::::::::::::-=#%%*-::::=+*%@*+=+=====:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+###%%%%#*++-:::::::::::::-++=::::::::::::::::::::::::::::::::::::::::::::::::#@+::+%@*+-:::-=====::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=*###%####**+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*#=%+---:::::::=====-::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::===+**++*#####*++=--:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%*:::::::::::::=====::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=====-:::=+*###*++++++++-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=====:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::=====-::::::::-=+++++++++=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-==+++=::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::=====:::::::::::::::::----::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::==+###+:::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::=====:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=+####=::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::=+++=-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+####+::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::=****::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=####*::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::=+***+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*####-:::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::=+***+-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-=============-:::=####=:::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::-=***+=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-====================--*###*-::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::=+**+=-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-=========---------=======+####+::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::-+***+=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=======-:::::::::::::::=====*####*:::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::=+**++-:::::::::::::::::::-===========-::::::::::::::::::::::::::::::::::::::::::=====-:::::::::::::::::::-===+#%##**-:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::-++**+=:::::::::::::::::-=***+=============-::::::::::::::::::::::::::::::::::::-=====::::::::::::-::::::::::==+*#%##*+:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::=+***+=::::::::::::::-====+**+-------=========::::::::::::::::::::::::::::::::::=====::::::::::::=*+=:::::::::-=+*#%##*=::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::=+***=-::::::::::::-=======-:::::::::::::=======:::::::::::::::::::::::::::::::=====:::::::::::::=++=::::::::::-=+#%%##+::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::=+***=::::::::::::-=====:::::::::=*+=-:::::-=====-::::::::::::::::::::::::::::-====-:::::::::::::+=++-::::::::::-=*#%%#+::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::=*+==:::::::::::-====-::::::::=**=*#=:::::::-=+**+=::::::::::::::::::::::::::=====:::::::::::::-+--+-:::::::::::-+*###+=:::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::-+++=::::::::::-====-:::::::::=#*-=#+::::::::-+**+==:::::::::::::::::::::::::=====:::::::::::::-*-:*#:::::::::::::=*#**+-::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::=***+::::::::::=====::::::::::=*+-*#-:::::::::::=====:::::::::::::::::::::::-====-:::::::::::::-#+:-*+:::::::::::::=****=::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::+***+:::::::::-====-::::::::::+*+-*#-:::::::::::-====-::::::::::::::::::::::-====::::::::::::::++-::=#+:::::::::::::+###*-:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::+***+:::::::::=====:::::::::::-++:=+-::::::::::::=====:::::::::::::::::::::::====-:::::::::-=+++-::::+#+::::::::::::+###*::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::+***+:::::::::====-:::::::::::-+=:-#+::::::::::::-====:::::::::::::::::::::::=====:::--=+++=--::::::::+*+=++==-:::::++*+-::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::+***+::::::::-====::::::::::::++:::++:::::::::::::====-::::::::::::::::::::::-===*++++=-:::::::::::::::---=+*##*++++*++=-::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::=***=::::::::-====:::::::::::**-:::-++::::::::::::=====::::::::::::::::::::::=***+-------::::::::::::::::::::---=+***++=-::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::=====::::::::-++++-:::::::-=++-:::::-=++::::::::::-====::::::::::::::::::::::=****=-----=+++=-::::::::::::+###==-::=****-::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::-====::::::::-****+++++++++=:::::::::::=**-::::::::====-:::::::::::::::::::::==++==::::::::-=++-::::::-=+++-:::::::+***+-::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::+***-:::::::-=+**++=-::::::::::::::::::-*#*++=-:::=====:::::::::::::::::::::-=====:::::::::::+#=::::-**-:::::::::-****=:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::****-:::::::-====--=++++-::::::::::::::::::-+**+*###+==-:::::::::::::::::::::=====-:::::::::::*#-::-#*:::::::::::-****=:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::+***+::::::::====-:::::-=++-:::::::::::::-++**#*****+==-::::::::::::::::::::::=====::::::::::::+=::*#-:::::::::::=****-:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::=****-:::::::=====::::::::-++-:::::::-+##%#+**+-::-====-:::::::::::-=:::::::::-=====:::::::::::=*--*=::::::::::::+**#+::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::-****=:::::::-====-:::::::::=+=::::-*#=:::::::::::=====:::::::::::::-::::::::::======::::::::::=#+*+::::::::::::=*###*+=::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::+***+::::::::-====::::::::::-*+::-#%=::::::::::::====-::::::::::::::::::::::::-+++===:::::::::-#*%+:::::::::::=**###**+-:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::=****-::::::::=====::::::::::=+-:=#-::::::::::::-====-:::::::::::::::::::::::-=***+===:::::::::=*%=::::::::::=***##***+-:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::-****=::::::::-====-::::::::::++:#*:::::::::::::-====::::::::::::::::::::::::-=+**#*+==-::::::::*%=::::::::::+***+****+-:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::+***+:::::::::=====::::::::::-+-+=:::::::::::::-====::::::::::::::::::::::::::=*####**+=-::::::=*-:::::::::=****=-****-:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::=****-:::::::::=====::::::::::+++-:::::::::::::====-:::::::::::::::::::::::::::-*#####***+=-::::-:::::::-=+****=:-****-:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::****=::::::::::======::::::::+*+-:::::::::::::====-:::::::::::::::::::::::::::::+*########*=::::::==+++******=:::+***=:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::=****:::::::::::=======::::::=*+=:::::::::::-=====:::::::::::::::::::::::::::::::-=++*#%%%%##**+==*###****+=:::::+***+:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::-****=::::::::::::-======-:::::+=::::::::::======::::::::::::::::::::::::::::::::::::+**######*#######*+=++=++:::+***+:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::+#**+-:::::::::::::-=======-::+=::::::::-=====-:::::::::::::::::::::::::::::::::::::::--==+++*#####***--+++=:::-*###+:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::-+**+==:::::::::::::::-========--:::--========:::::::::::::::::::::::::::-=:::::::::::::::::::::-++-++--**+-::-=+*###=:::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::-=+**+==:::::::::::::::::-==================-::::::::::-+-::::::-++-::::-++::::::::::::::::::::=+=-++-=**+::-+*****=:::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::==+**++-:::::::::=+-:-=::::-============-::::::::::::::++-:::::=+++::::**-::::::::::::::::::-++-:++:+#*=:-+******-::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::-=+***+-:::::::++-:=+=::=+:-==:::::::::::::::::::::::::++::::=+--++:-*#++-::::::::::::::::=+=::--:-=--=******+-::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::-=*****=::::=+=:-++:::++-:++:::::::::::::::::::::::::::++-:++-::-++*#*++:::::::::::::::::--::::::-=*****#*=:::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::-+###*+==-:::=++-::=++-=+=:::::::::::::::::::::::::::::=+++-:::::=+*-::::::::::::::::-----==+++*#######*+-:::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::-==+***++=====---:-=::++-:::::::::::::::::::::::::::::::=+::::::::-::::::::::::::-+**###*****#######*+===::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::===++**##***++++=-::::::::::::::::::::::::::::::::::::::::::::::::::::::--=+***#######******#**+=--::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-===+*########****+++++===========+++=----------------==========++**###********#*+++=--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-=+*********#########********#####***************#####*******########*++=--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::--==+**######********####****************#####**********+++-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::















3 comments