puts and gets challenge