i. For the alphabet Σ = {a, b, c}, construct a DFA for the language { w ∈ Σ* | w contains exactly two cs. }
ii. For the alphabet Σ = {a, b}, construct a DFA for the language { w ∈ Σ* | w contains the same number of instances of the substring ab and the substring ba }. Note that substrings are allowed to overlap, so aba ∈ L and babab ∈ L.
iii. For the alphabet Σ = {a, b, c, ..., z}, construct a DFA for the language { w ∈ Σ* | w contains the word “cocoa” as a substring }.