problem 18
disclaimer for problem 67