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