;;;;;;;:;;;;::::::::;; :;::;;:,::;:;::;:;;'++ ::::::,:::::::+++++### ::::::::::,'++#@@@@@@@ ::::;:::+#++#@@@@@@@@@ ::::;###+++++@@@@@@@@@ :,;#+@@@#+';++@@@@@@@# +##@#@@@##'';+@@@@@@@@ +@@@@@@@#+''''+@@@@@@# @@@@@@@@#+''';'+@@@@## +@@@@@@@+';''':'+++++# +@@@@@@@+;;''+;:,:::;' +#@@@@@#+;;'';::,,@,:; ;+@@@@##:;:::,:.,,.#@, ''+++++:;;;:;:.,.,@..: '';'':';:,;,.;+@@@;,:, ''''+';@:,'@@@@##+.:,, ''';';:@@@@@@@#@#@,,,, ''''':',:'@@@@@#';::,, ''''':;::::@#'++:,::,, ';;;;::;:;;,.::::::,:: ;;';;;:;;:;::,,,:;:,,: