(a) Explain how to construct a DFA D1= over the alphabet {a,b} that accepts the language L1 = { w : w contains ba}. Formally describe the DFA and draw it too. Prove correctness. (b) Explain how to construct a DFA D2= over the alphabet {a,b} that accepts the language L2 = { w : #(ab,w) is divisible by 2 }. e belongs to L2. Formally describe the DFA and draw it too. Prove its correctness by writing only the level-1 steps (include exactly the statements that should be proved in level-2, but you do not have to actually include the level-2 part). (c) Explain how to construct a DFA D3 (and prove its correctness) that accepts only strings w that satisfies exactly one of these conditions: • w contains ba • #(ab,w) is divisible by 2