PKU 1597 Uniform Generator

http://poj.org/problem?id=1597
seed(x+1) = [ seed(x) + STEP ] % MOD
という形で与えられる関数が、0からスタートして出力を入力に回していくとき、0〜MOD-1までの全ての値を出力しうるかという問題?

互いに素かどうかを確かめて、出力形式に注意する。

main(){
  int step,mod;
  while(cin>>step>>mod){
    printf("%10d%10d    ",step,mod);
    if(__gcd(step,mod)==1)cout<<"Good";
    else cout<<"Bad";
    cout<<" Choice"<<endl<<endl;
  }
}