Problem 28 - standard approach
Problem 28 - fully lazy