Problem 28 done