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