Let $A$ be a free abelian group of finite rank and $B$ be a subgroup of $A$ such that $A=B+pA$ for some prime number $p$. Then how to prove $B$ is a subgroup of finite index in $A$? And if $A=B+pA$ holds for any prime number number $p$, then $A=B$?
I tried to use The Second Isomorphism Theorem for groups, since any subgroup of an abelian group is normal, so we can get $pA/(pA\cap B) \cong\ (B+pA)/B=A/B$, since $A=B+pA$, so the next step will be show $pA/(pA\cap B)$ is finite, then I got stuck. I also tried to use $A/pA=(B+pA)/pA \cong\ B/(pA\cap B)$, and stuck again.
I guess we might need to connect $A/B$ with $A/pA$, since the later the finite, and I don't know how to use the condition that A is with finite rank, any suggestions?