Proving that sigma_k(n) is odd if n is a square or double a square

If the integer $\displaystyle k \geq 1$, prove that $\displaystyle \sigma_k(n)$ is odd if and only if $\displaystyle n$ is a square or double a square.

I tried the reverse direction first.

Let $\displaystyle n = p_1^{\alpha_1}p_2^{\alpha_2}\cdot\cdot\cdot p_z^{\alpha_z}$

$\displaystyle \sigma_k(n) = (p_1^{\alpha_1k} + p_1^{\alpha_1k - k} +\cdot\cdot\cdot + 1)(p_2^{\alpha_2k} + p_2^{\alpha_2k - k} +\cdot\cdot\cdot + 1)\cdot\cdot\cdot(p_z^{\alpha_zk} + p_z^{\alpha_zk - k} +\cdot\cdot\cdot + 1)$

Now each alpha must be even if n is to be a square or double a square.

$\displaystyle (p_i^{\alpha_ik} + p_i^{\alpha_ik - k} +\cdot\cdot\cdot + 1) \mbox{ is odd for }0 \leq i \leq z$ is odd if the sums are odd. If $\displaystyle p_i$ is 2, then the term becomes even, and so the whole product becomes even, which doesn't make sense, or am I doing something wrong?(Thinking)

Thanks guys.