USACO, the USA Computing Olympiad