Source code Lesson 5
Lesson 5 final solution.