I like this. It is non-trivial so it is good for like an interview question, but nor is it so difficult that one has to spend all day on it. Also the problem is general enough so one can use whatever language one wants. I used ANSI C to solve it myself, but one could really use nearly any language. Very cool.