/* ID: mnlm1991 PROG: sgu 119 Magic Pairs LANG: C++ */ #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<vector> #include<algorithm> #include<string> #include<map> #include<set> #include<bitset> #include<queue> #include<iostream> #include<iterator> using namespace std; typedef pair<int, int> pp; vector<pp> ans; int A; int B; int N; int main() { while (scanf("%d%d%d", &N, &A, &B) != EOF) { A %= N; B %= N; int a = A; int b = B; do { a = (a + A)% N; b = (b + B)% N; ans.push_back(make_pair(a, b)); } while (a != A || b != B); printf("%d/n", ans.size()); sort(ans.begin(), ans.end()); vector <pp>::iterator it; for (it = ans.begin(); it != ans.end(); it++) { printf("%d %d/n", it -> first, it -> second); } } return 0; }