up to problem 29