**Authors:** Richard Beigel

**Abstract:**
Well known complexity classes such as NP, co-NP, PARITYP and PP are
produced by considering a nondeterministic polynomial time Turing
machine *N* and defining acceptance in terms of the number of
accepting paths in *N*. That is, they are subclasses of
P^{#P[1]}. Other interesting classes such as
MOD_{k}P and C_{=}P are also subclasses of
P^{#P[1]}. Many relations among these classes are unresolved.
Of course, these classes coincide if P = PSPACE. However, we develop
a simple combinatorial technique for constructing oracles that
separate counting classes. Our results suggest that it will be
difficult to resolve the unknown relationships among different
counting classes. In addition to presenting new oracle separations,
we simplify several previous constructions.