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