Exercise 2.50
Exercise 2.51