Solutions to Comcast Programming Challenge