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$?