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