A framework to conduct competitive programming contests