  Let $\mathcal{F}\subset 2^{[n]}$ be a set family such that the intersection
of any two members of $\mathcal{F}$ has size divisible by $\ell$. The famous
Eventown theorem states that if $\ell=2$ then $|\mathcal{F}|\leq 2^{\lfloor
n/2\rfloor}$, and this bound can be achieved by, e.g., an `atomic'
construction, i.e. splitting the ground set into disjoint pairs and taking
their arbitrary unions. Similarly, splitting the ground set into disjoint sets
of size $\ell$ gives a family with pairwise intersections divisible by $\ell$
and size $2^{\lfloor n/\ell\rfloor}$. Yet, as was shown by Frankl and Odlyzko,
these families are far from maximal. For infinitely many $\ell$, they
constructed families $\mathcal{F}$ as above of size $2^{\Omega(n\log
\ell/\ell)}$. On the other hand, if the intersection of any number of sets in
$\mathcal{F}\subset 2^{[n]}$ has size divisible by $\ell$, then it is easy to
show that $|\mathcal{F}|\leq 2^{\lfloor n/\ell\rfloor}$. In 1983 Frankl and
Odlyzko conjectured that $|\mathcal{F}|\leq 2^{(1+o(1)) n/\ell}$ holds already
if one only requires that for some $k=k(\ell)$ any $k$ distinct members of
$\mathcal{F}$ have an intersection of size divisible by $\ell$. We completely
resolve this old conjecture in a strong form, showing that $|\mathcal{F}|\leq
2^{\lfloor n/\ell\rfloor}+O(1)$ if $k$ is chosen appropriately, and the $O(1)$
error term is not needed if (and only if) $\ell \, | \, n$, and $n$ is
sufficiently large. Moreover the only extremal configurations have `atomic'
structure as above. Our main tool, which might be of independent interest, is a
structure theorem for set systems with small 'doubling'.
