cs50x problem set 1