I asked this question on math.stackexchange yesterday, but nobody has helped so far, and only 44 people have seen it! So I hope people do not mind me asking it here...

Let $A$ be a finite abelian group, and let

$ \psi : A \times A \to \mathbb{Q}/\mathbb{Z} $

be an alternating, non-degenerate bilinear form on $A$. Maybe I should say what I mean by these words; bilinear means it is linear in each argument separately; alternating means that $\psi(a,a) = 0$ for all $a$; non-degenerate means that, if $\psi(a,b) = 0$ for all $b$, then $a$ must be $0$.

Why must $A$ have square cardinality?

I believe it will follow from the following theorem in Linear algebra:

Theorem. Let $V$ be a finite dimensional vector space over a field $K$ that has an alternating, non-degenerate bilinear form on it (from $V \times V \to K$). Then dim $V$ is even.

My idea was to proceed as follows: If the size of $A$ is not square, then for some prime $p$, $A(p)$ is not square, where $A(p)$ means the $p$-primary part of $A$. The original $\psi$ induces a map on $A(p)$ that is non-degenerate, alternating and bilinear. I then wanted to say that $A(p)$ is an $\mathbb{F}_p$-vector space, and then applying the theorem I am done, but this is not true, e.g, $\mathbb{Z}/25\mathbb{Z}$ is not an $\mathbb{F}_5$-vector space.

Any pointers anyone?