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