My DFA assignment!! Lots of work, lots of hours and lots of fun.