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