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