Okay, so NULL string is an invalid string for our language.
Option B generates NULL string and hence, it can be straight away rejected.
Option A can generate strings like abab or baba which are invalid for our language, and hence they can be rejected.
Option C and D are well approximated answers, and look quite similar.
However both generate our required strings, but the difference is that Option D will never generate our minimal length strings 'aa' and 'bb'(You can check though!)
Hence, Option C will be indeed the right answer!