A question about cyclic Abelian group

If $G$ is a finite Abelian group and for any prime $p$ divides $|G|$ there exists exactly one subgroup of order $p$ in $G$. Suppose $G_p=\{x\in G|x \text{ is a p-element}\}$, then prove $G_p$ is cyclic for every $p\text{ dividing } |G|$. The book gives a hint that because $G$ is Abelian, it is a product of cyclic groups, but I don't have any idea what's next, can somebody give me more details? Thank you.

• Does $p||G|$ means that $|G|$ is a multiple of $p$? – MJD Oct 31 '14 at 21:14
• Is there something in my answer you don't understand? – egreg Nov 1 '14 at 14:26
• @egreg, thank you for helping me. I think k=1, is that right? – user236626 Nov 1 '14 at 15:02
• @user236626 Yes: you find a subgroup with $p$ elements in each $p$-subgroup, so you have $k$ of them, all distinct, because the intersection of two of them is $\{0\}$. – egreg Nov 1 '14 at 15:06

Let me restate the problem (with additive notation for $G$)
Suppose that $G$ is a finite abelian group and that for each prime $p$ dividing $|G|$ there is exactly one subgroup of $G$ having order $p$. Set $G_p=\{x\in G: p^nx=0\text{ for some$n>0$}\}$. Prove that $G_p$ is cyclic for every prime $p$ dividing $|G|$.
The subgroup $G_p$ is a direct sum of cyclic subgroups, say $G_p=X_1\oplus X_2\oplus\dots\oplus X_k$, with $X_i\ne\{0\}$, for $i=1,2,\dots,k$.
Each of these subgroups is a $p$-subgroup, so each one has a subgroup of order $p$. Therefore $k=\dots$