Let $S$ be a string of $99$ characters, $66$ of which are $A$ and $33$ are $B$. We call $S$ [i]good[/i] if, for each $n$ such that $1\le n \le 99$, the sub-string made from the first $n$ characters of $S$ has an odd number of distinct permutations. How many good strings are there? Which strings are good?
1. **Lemma Proof:**
   We need to prove that for all \(i \in \{1, 2, \dots, 2^n - 1\}\), \({2^n \choose i}\) is even.

   By Lucas' Theorem, for any non-negative integers \(m\) and \(n\) and a prime \(p\), the binomial coefficient \({m \choose n}\) modulo \(p\) can be determined by the base-\(p\) representations of \(m\) and \(n\). Specifically,
   \[
   {m \choose n} \equiv \prod_{j=0}^k {m_j \choose n_j} \pmod{p}
   \]
   where \(m = m_k m_{k-1} \cdots m_0\) and \(n = n_k n_{k-1} \cdots n_0\) are the base-\(p\) representations of \(m\) and \(n\), respectively.

   For \(p = 2\), \(m = 2^n\), and \(i\), we have:
   \[
   {2^n \choose i} \equiv \prod_{j=0}^{n-1} {1 \choose i_j} \pmod{2}
   \]
   where \(i = i_{n-1} i_{n-2} \cdots i_0\) is the binary representation of \(i\).

   Since \({1 \choose 0} = 1\) and \({1 \choose 1} = 1\), but \({1 \choose i_j} = 0\) for \(i_j > 1\), it follows that:
   \[
   {2^n \choose i} \equiv 0 \pmod{2}
   \]
   for any \(i\) that is not a power of 2. Therefore, \({2^n \choose i}\) is even for all \(i \in \{1, 2, \dots, 2^n - 1\}\).

2. **Application to the Problem:**
   We need to determine the number of good strings \(S\) of length 99 with 66 \(A\)'s and 33 \(B\)'s such that for each \(n\) (where \(1 \leq n \leq 99\)), the substring made from the first \(n\) characters of \(S\) has an odd number of distinct permutations.

   The number of distinct permutations of a substring of length \(n\) with \(b\) \(B\)'s is given by \({n \choose b}\). For this to be odd, \({n \choose b}\) must be odd.

3. **Analysis of Substrings:**
   - For \(n = 64\), the substring must have 0 \(B\)'s because \({64 \choose x}\) is even for any \(x \in \{1, 2, \dots, 33\}\). Thus, the first 64 characters must all be \(A\)'s.
   - For \(n = 65\), the substring must have 1 \(B\) because \({65 \choose 1} = 65\) is odd.
   - For \(n = 66\), the substring must have 1 \(B\) because \({66 \choose 1} = 66\) is even, so the 66th character must be \(A\).
   - For \(n = 67\), the substring must have 2 \(B\)'s because \({67 \choose 2}\) is odd.
   - For \(n = 68\), the substring must have 2 \(B\)'s because \({68 \choose 2}\) is even, so the 68th character must be \(A\).

   Continuing this pattern, we find that the string must have the form:
   \[
   A^{64} B A B A B \cdots B A B
   \]
   where the first 64 characters are \(A\)'s, followed by alternating \(B\)'s and \(A\)'s.

4. **Conclusion:**
   The only good string that satisfies the conditions is:
   \[
   A^{64} B A B A B \cdots B A B
   \]

The final answer is \( \boxed{ A^{64} B A B A B \cdots B A B } \)