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