If I leave, we haven't discussed these yet but they are very good algorithm to know for implementing all of these and in fact we'll be able to do it in only single pass over the input and with very few operations per character. 