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