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