3 // X makes sure it is:
0 3 6 9 and so on

The X > 0 part was just to stop it from accepting 0 as a valid value, as the value have to be greater.

By checking if X > 3 will make it so that X can not be exactly 3 anymore.

You can of course try X >= 3, but I just wasn't sure why it didn't work earlier.