ICS 267: Program 3