Exercise 1.
Exercise 2.
Exercise 3.
Exercise 4.
Exercise 5.
Exercise 6.
Exercise 8.
Updated progress.