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