::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::.:::::::::::::–:::::::::::::.:::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::.::::::::::::–::::::::::::.::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::.-::::::::::–::::::::::-.:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::.-:::::::::–:::::::::-.::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::.-::::::::–::::::::-.:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::-:::::::::::::::-.:::::::–:::::::-.::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::—-:::::::::::::-.::::::–::::::.-:::::::::::::—-::::::::::::::::::::::
::::::::::::::::::::::::::::—-::::::::::-.:::::–:::::.-::::::::::—-::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::—-::::::::-.::::-.::::.-::::::::—-:::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::—–::::::.-::-.::-.::::::–.–::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::-..-::::.-:-.:-.::::-..-::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::–.-::.–.-.::-..-:::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::-..““..-:::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::—————————.` `.—————————::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::-…`.“…-::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::-..-::.–.-.::-..-:::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::–..-::::.-:-.:-.::::–.–:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::–.-::::::-.:::-.:::.-::::::-.–::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::—-::::::::-.::::-.::::.-::::::::—-:::::::::::::::::::::::::::::
:::::::::::::::::::::::::::—-:::::::::::-.:::::–:::::.-:::::::::::—-:::::::::::::::::::::::::
::::::::::::::::::::::::—-:::::::::::::-.::::::–::::::-.:::::::::::::—-::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::.-:::::::–:::::::-.::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::.-::::::::–::::::::-.:::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::.-:::::::::–:::::::::-.::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::.:::::::::::–:::::::::::.:::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::-.::::::::::::–::::::::::::.-:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::-:::::::::::::–:::::::::::::-:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::–:::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::