Analyzing the input stream for character- level errors in unconstrained text entry evaluations
Introduction to Algorithms