Each of the following languages is the intersection of two simpler languages. In each part, construct DFAs for the simpler languages, then combine them using the construction discussed in footnote 3 (page 46) to give the state diagram of a DFA for the language given. In all parts, Σ = {a, b}.
a. {w| w has at least three a’s and at least two b’s}
Ab. {w| w has exactly two a’s and at least two b’s}
c. {w| w has an even number of a’s and one or two b’s}
Ad. {w| w has an even number of a’s and each a is followed by at least one b}
e. {w| w starts with an a and has at most one b}
f. {w| w has an odd number of a’s and ends with a b}
g. {w| w has even length and an odd number of a’s}