Formal Language & Automata Theory