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