Just thought I'd mention what the modulus operator does, in case you don't already know.
When you divide two integers, the modulus is the remainder that you get. So for example, if you divide any even number by 2, you should get a remainder of 0. That's why you check to see if foo%2 == 0. If the value of foo was odd, the remainder would be 1.