Programming problem. See README for description of problem and approach.