p,qが素数であることをどこかで暗黙的に使ってるのかな?