finished problem 30