A programming competition framework for ACM@Michigan Tech