Schensted algorithm