Made major progress on Problem 18