KMP solved, TESTED, ACCEPTED