All codes for OJ and self learning