# $B^n=A^n \cap B$ for every natural $n$. If $A/B$ is finitely generated, then $B$ is a direct factor of $A$

Let $A$ be an abelian group, and $B \le A$. Suppose that $B^n=A^n \cap B$ for every natural $n$. Prove that if $A/B$ is finitely generated, then $B$ is a direct factor of $A$.

Notation: Let $G$ be an abelian group and $n$ a natural integer number. We define $X^n := \{ x^n | x \in X\}$ which is a subgroup of $X$.

Attempt: Let $a_1 B, \dots, a_n B$ be a minimal generating set of $A/B$. If $C$ denotes the subgroup of $A$ generated by $a_i$'s, then $A=BC$. But how we should prove that $B \cap C = 1$?

If $N$ is a pure submodule of $M$ and $M/N$ is finitely presented, then $N$ is a direct summand of $M$.
The condition $nB=nA\cap B$ for all $n$ means that $B$ is a pure submodule of $A$, that is, the sequence $0\to B\otimes\mathbb Z/n\mathbb Z\to A\otimes\mathbb Z/n\mathbb Z$ is exact for every $n$.