::::::::::::::::::::::::::::::::::::::::::::-----=---------------------------==========+++++++++++++++ :::::::::::::::::::::::::::::::::::::::::::::::-+#=--------------------------==========+++++++++++++++ ::::::::::::::::::::::::::::::::::::::::::::::::##*-------------------------=========+++++++++++++++++ ::::::::::::::::::::::::::::::::::::::::::::::+####*-------------------------=========+++++++=++++++++ ::::::::::::::::::::::::::::::::::::::::::::=#######-:::----------------------=========+============== :::::::::::::::::::::::::::::::::=##############+-:::::::::-::::::::------------====================== ::::::::::::::::::::::::::::::*###############*-::::::::::::::::::::--------------===========-======== :::::::::::::::::::------=*##########*:::::::::::::::::::::::::::::::::------------------------------= :::::::::::::::::=+**###############=:::::::::::::::::::::::::::::::::::------------------------------ ::::::::::::::::=+****+########*+:::::::::::::::::::::::::::::::::::::::::---------------------------- :::::::::::::::=+**+++++=::::::::::::::--------------::::::::::::::::::::::--------------------------- ::::::::::::::-+****++++++-:::::::::::----------****+::::::::::::::::::::----------------------------- :::::::::::::-+****+++++-::-------------------****::::::::::::::::::::::------------------------------ ::::::::::::-+******+--::---:-----------+***++=::::::::::::+**::::::::::::::-------:::::-------------- :::::::::::-+*****=---:::------------==-::::::::::::::::=+***##:::::::::::::::::::::::::::::::::------ ::::::::::=+*+==------:--::::--=:::::::::::::::::::::=++*****###:::::::::::::::::::::::::::::::::::::- :::::::::=*=-------------:::::::::::::::::::::::::=++****+**#####*:::::::::::::::::::::::::::::::::::- ::::::::=-:::::::::::::::::::::::::::::::::::::-++******++**#######-:::::::::::::::::::::::::::::::::: :::::::=::::::::::::::::::::::::::::::::::::-++++++****++++*#########::::::::::::::::::::::::::::::::: :::::##+:::::::::::::::::::::::::::::::::-*++++++++++++++++*##########*::::::::::::::::::::::::::::::: ::::*#+:::::::::::::::::::::::::::::::**+++++++++*******+++*#############::::::::::::::::::::::::::::: ::::#-:::::::::::::::::::::::::::::-=-----------------=+*++::*##############+::::::::::::::::::::::::: :::-#*::::::::::::::::::::::::::-+::::::=--------:::--=:-++:::-####################*:::::::::::::::::: :==###*::::::::::::::::::::::###-::*=::::::------::------::::::::*####################+::::::::::::::: :::####::::::::::::::::::::::##=::##*::::::::-:-------:----:::::::--+*###################-:::::::::::: :::####+:::::::::::::::::::###:::-#=:::::::::::-:-:::-:::-=-::::::::::-===+################::::::::::: :::#####*:::::::::::::::::####:::#+::::::::::::::-:::-::::=---::::::::::=====*#############::::::::::: ::::######:::::####+:::::#####:###:::::::::::::::::--:-::==*---::::::::::-=----=+##########-:::::::::: :::::+#######+######::::=####*####-::::::::::::::::::--:-##*---==:-:-:::::-=-:::::#########+:::::::::: ::::::*#############=*#:#########::*:::::::::::::::::::####+---+*+=:::::::-::::::::*########:::::::::: :::::::########################+:#####::::::::::::::#####+=*********+-::::::::::::::=#######:::::::::: ::::::-#######################::-#####-:::::::::::*#####=:::::-+*****=:::::::::::::::#######:::::::::: ::::::########################:#####*#+:::::::::#######:::::::::*****-:::::::::::::::+::-=+=:::::::::: :::::+##################################-:::*###*#####::::::::::****-::::::::::::::::::::::::::::::::: ::::####################=*############*#########*###-::::::::::=**+-:::::::::::::::::::::::::::::::::: ::::####################:-######################*##:::::::::::=++=------:::::::::::::::::::::::::::::: :::*###########################################+*###::::::::::=+=---------:::::::::::::::::::::::::::: :::#########################################=:::####*:::::::::-===+++=====--:::::::::::::::::::::::::: ::#########################################-::::#####=::::::::::+++******=:::::::::::::::::::::::::::: ::#########################################:::::######:::::::::::::::::::::::::::::::::::::::::::::::: ::::-#####################################*:::::######=:::::::::::::::::::::::::::::::::::::::::::::::