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