The hard part of this problem is coming up with the inspiration required to
find the best solution. We will lead you through this process because we want
to focus on the work that remains after that moment of inspiration. If you'd
like to solve the problem entirely on your own, you should think about the
problem before proceeding.
Joseph L. Zachary
Department of Computer Science
University of Utah