This is my CS homework.