0_0_20614054_14108.cpp:9:22: error: '#' is not followed by a macro parameter
#define rep(i,a,b) for(int i=(a);i<(b);++i)#define rrep(i,b,a) for(int i = (b); i >
^
0_0_20614054_14108.cpp:10:16: error: stray '#' in program
= (a); --i)#define clr(a,x) memset(a,(x),sizeof(a))#define LL unsigned long long#define eps 1e-8using namespace std;LL n; LL gcd(LL a, LL b){ while (a && b) { if (a > b) a %= b; else b %= a; } return a + b;} LL lcm(LL a,LL b){ return a * b / gcd(a,b);} void mul(LL A[2][2],LL B[2][2],LL ret[2][2],LL mod){ LL C[2][2] = { 0 }; rep(i,0,2) rep(j,0,2) rep(k,0,2) C[i][j] = (C[i][j] + A[i][k] * B[k][j] % mod) % mod; rep(i,0,2) rep(j,0,2) ret[i][j] = C[i][j];} void qpow(LL base[2][2],LL p,LL dest[2][2],LL mod){ LL ret[2][2] = { 0 }; ret[0][0] = ret[1][1] = 1; while (p > 0) { if (p & 1) mul(ret,base,ret,mod); mul(base,base,base,mod); p >>= 1; } rep(i,0,2) rep(j,0,2) dest[i][j] = ret[i][j];} LL qpow(LL base,LL p,LL mod){ LL ret = 1; while (p) { if (p & 1) ret = ret * base % mod; base = base * base % mod; p >>= 1; } return ret;} LL S[10000],c;LL f1,f2;void F(LL p,LL mod){ LL A[2][2] = { 0 }; A[0][0] = 1; A[0][1] = 1; A[1][0] = 1; A[1][1] = 0; qpow(A,p-1,A,mod); f1 = (A[1][0]+A[1][1]) % mod; f2 = (A[0][0] + A[0][1]) % mod;} LL loop(LL mod){ if (mod == 2) return 3; else if (mod == 3) return 8; else if (mod == 5) return 20; LL p; if (qpow(5,(mod-1)>>1,mod) == 1) p = mod - 1; else p = 2*(mod + 1); c = 0; for(LL i = 1; i * i <= p; ++i) if (p % i == 0) { LL x = i , y = p / i; F(x,mod); if (f1 == 0 && f2 == 1) return x; if (y != x) S[c++] = y; } while (c > 0) { F(S[--c],mod); if (f1 == 0 && f2 == 1) return S[c]; } return 0;} int main(){ while (cin >> n) { LL x = n; LL ans = 1; for(LL i = 2; i * i <= x; ++i) if (x % i == 0) { LL len = loop(i); LL S = 1; do x /= i, S = S * i; while (x % i == 0); S /= i; S = S * len; ans = lcm(ans,S); } if (x > 1) { LL len = loop(x); ans = lcm(ans,len); } if (ans % 2 == 0) ans /= 2; printf("%I64u\n",ans); }}
^
0_0_20614054_14108.cpp:10:56: error: stray '#' in program
= (a); --i)#define clr(a,x) memset(a,(x),sizeof(a))#define LL unsigned long long#define eps 1e-8using namespace std;LL n; LL gcd(LL a, LL b){ while (a && b) { if (a > b) a %= b; else b %= a; } return a + b;} LL lcm(LL a,LL b){ return a * b / gcd(a,b);} void mul(LL A[2][2],LL B[2][2],LL ret[2][2],LL mod){ LL C[2][2] = { 0 }; rep(i,0,2) rep(j,0,2) rep(k,0,2) C[i][j] = (C[i][j] + A[i][k] * B[k][j] % mod) % mod; rep(i,0,2) rep(j,0,2) ret[i][j] = C[i][j];} void qpow(LL base[2][2],LL p,LL dest[2][2],LL mod){ LL ret[2][2] = { 0 }; ret[0][0] = ret[1][1] = 1; while (p > 0) { if (p & 1) mul(ret,base,ret,mod); mul(base,base,base,mod); p >>= 1; } rep(i,0,2) rep(j,0,2) dest[i][j] = ret[i][j];} LL qpow(LL base,LL p,LL mod){ LL ret = 1; while (p) { if (p & 1) ret = ret * base % mod; base = base * base % mod; p >>= 1; } return ret;} LL S[10000],c;LL f1,f2;void F(LL p,LL mod){ LL A[2][2] = { 0 }; A[0][0] = 1; A[0][1] = 1; A[1][0] = 1; A[1][1] = 0; qpow(A,p-1,A,mod); f1 = (A[1][0]+A[1][1]) % mod; f2 = (A[0][0] + A[0][1]) % mod;} LL loop(LL mod){ if (mod == 2) return 3; else if (mod == 3) return 8; else if (mod == 5) return 20; LL p; if (qpow(5,(mod-1)>>1,mod) == 1) p = mod - 1; else p = 2*(mod + 1); c = 0; for(LL i = 1; i * i <= p; ++i) if (p % i == 0) { LL x = i , y = p / i; F(x,mod); if (f1 == 0 && f2 == 1) return x; if (y != x) S[c++] = y; } while (c > 0) { F(S[--c],mod); if (f1 == 0 && f2 == 1) return S[c]; } return 0;} int main(){ while (cin >> n) { LL x = n; LL ans = 1; for(LL i = 2; i * i <= x; ++i) if (x % i == 0) { LL len = loop(i); LL S = 1; do x /= i, S = S * i; while (x % i == 0); S /= i; S = S * len; ans = lcm(ans,S); } if (x > 1) { LL len = loop(x); ans = lcm(ans,len); } if (ans % 2 == 0) ans /= 2; printf("%I64u\n",ans); }}
^
0_0_20614054_14108.cpp:10:85: error: stray '#' in program
= (a); --i)#define clr(a,x) memset(a,(x),sizeof(a))#define LL unsigned long long#define eps 1e-8using namespace std;LL n; LL gcd(LL a, LL b){ while (a && b) { if (a > b) a %= b; else b %= a; } return a + b;} LL lcm(LL a,LL b){ return a * b / gcd(a,b);} void mul(LL A[2][2],LL B[2][2],LL ret[2][2],LL mod){ LL C[2][2] = { 0 }; rep(i,0,2) rep(j,0,2) rep(k,0,2) C[i][j] = (C[i][j] + A[i][k] * B[k][j] % mod) % mod; rep(i,0,2) rep(j,0,2) ret[i][j] = C[i][j];} void qpow(LL base[2][2],LL p,LL dest[2][2],LL mod){ LL ret[2][2] = { 0 }; ret[0][0] = ret[1][1] = 1; while (p > 0) { if (p & 1) mul(ret,base,ret,mod); mul(base,base,base,mod); p >>= 1; } rep(i,0,2) rep(j,0,2) dest[i][j] = ret[i][j];} LL qpow(LL base,LL p,LL mod){ LL ret = 1; while (p) { if (p & 1) ret = ret * base % mod; base = base * base % mod; p >>= 1; } return ret;} LL S[10000],c;LL f1,f2;void F(LL p,LL mod){ LL A[2][2] = { 0 }; A[0][0] = 1; A[0][1] = 1; A[1][0] = 1; A[1][1] = 0; qpow(A,p-1,A,mod); f1 = (A[1][0]+A[1][1]) % mod; f2 = (A[0][0] + A[0][1]) % mod;} LL loop(LL mod){ if (mod == 2) return 3; else if (mod == 3) return 8; else if (mod == 5) return 20; LL p; if (qpow(5,(mod-1)>>1,mod) == 1) p = mod - 1; else p = 2*(mod + 1); c = 0; for(LL i = 1; i * i <= p; ++i) if (p % i == 0) { LL x = i , y = p / i; F(x,mod); if (f1 == 0 && f2 == 1) return x; if (y != x) S[c++] = y; } while (c > 0) { F(S[--c],mod); if (f1 == 0 && f2 == 1) return S[c]; } return 0;} int main(){ while (cin >> n) { LL x = n; LL ans = 1; for(LL i = 2; i * i <= x; ++i) if (x % i == 0) { LL len = loop(i); LL S = 1; do x /= i, S = S * i; while (x % i == 0); S /= i; S = S * len; ans = lcm(ans,S); } if (x > 1) { LL len = loop(x); ans = lcm(ans,len); } if (ans % 2 == 0) ans /= 2; printf("%I64u\n",ans); }}
^
0_0_20614054_14108.cpp:10:5: error: expected unqualified-id before '=' token
= (a); --i)#define clr(a,x) memset(a,(x),sizeof(a))#define LL unsigned long long#define eps 1e-8using namespace std;LL n; LL gcd(LL a, LL b){ while (a && b) { if (a > b) a %= b; else b %= a; } return a + b;} LL lcm(LL a,LL b){ return a * b / gcd(a,b);} void mul(LL A[2][2],LL B[2][2],LL ret[2][2],LL mod){ LL C[2][2] = { 0 }; rep(i,0,2) rep(j,0,2) rep(k,0,2) C[i][j] = (C[i][j] + A[i][k] * B[k][j] % mod) % mod; rep(i,0,2) rep(j,0,2) ret[i][j] = C[i][j];} void qpow(LL base[2][2],LL p,LL dest[2][2],LL mod){ LL ret[2][2] = { 0 }; ret[0][0] = ret[1][1] = 1; while (p > 0) { if (p & 1) mul(ret,base,ret,mod); mul(base,base,base,mod); p >>= 1; } rep(i,0,2) rep(j,0,2) dest[i][j] = ret[i][j];} LL qpow(LL base,LL p,LL mod){ LL ret = 1; while (p) { if (p & 1) ret = ret * base % mod; base = base * base % mod; p >>= 1; } return ret;} LL S[10000],c;LL f1,f2;void F(LL p,LL mod){ LL A[2][2] = { 0 }; A[0][0] = 1; A[0][1] = 1; A[1][0] = 1; A[1][1] = 0; qpow(A,p-1,A,mod); f1 = (A[1][0]+A[1][1]) % mod; f2 = (A[0][0] + A[0][1]) % mod;} LL loop(LL mod){ if (mod == 2) return 3; else if (mod == 3) return 8; else if (mod == 5) return 20; LL p; if (qpow(5,(mod-1)>>1,mod) == 1) p = mod - 1; else p = 2*(mod + 1); c = 0; for(LL i = 1; i * i <= p; ++i) if (p % i == 0) { LL x = i , y = p / i; F(x,mod); if (f1 == 0 && f2 == 1) return x; if (y != x) S[c++] = y; } while (c > 0) { F(S[--c],mod); if (f1 == 0 && f2 == 1) return S[c]; } return 0;} int main(){ while (cin >> n) { LL x = n; LL ans = 1; for(LL i = 2; i * i <= x; ++i) if (x % i == 0) { LL len = loop(i); LL S = 1; do x /= i, S = S * i; while (x % i == 0); S /= i; S = S * len; ans = lcm(ans,S); } if (x > 1) { LL len = loop(x); ans = lcm(ans,len); } if (ans % 2 == 0) ans /= 2; printf("%I64u\n",ans); }}
^
0_0_20614054_14108.cpp:10:12: error: expected unqualified-id before '--' token
= (a); --i)#define clr(a,x) memset(a,(x),sizeof(a))#define LL unsigned long long#define eps 1e-8using namespace std;LL n; LL gcd(LL a, LL b){ while (a && b) { if (a > b) a %= b; else b %= a; } return a + b;} LL lcm(LL a,LL b){ return a * b / gcd(a,b);} void mul(LL A[2][2],LL B[2][2],LL ret[2][2],LL mod){ LL C[2][2] = { 0 }; rep(i,0,2) rep(j,0,2) rep(k,0,2) C[i][j] = (C[i][j] + A[i][k] * B[k][j] % mod) % mod; rep(i,0,2) rep(j,0,2) ret[i][j] = C[i][j];} void qpow(LL base[2][2],LL p,LL dest[2][2],LL mod){ LL ret[2][2] = { 0 }; ret[0][0] = ret[1][1] = 1; while (p > 0) { if (p & 1) mul(ret,base,ret,mod); mul(base,base,base,mod); p >>= 1; } rep(i,0,2) rep(j,0,2) dest[i][j] = ret[i][j];} LL qpow(LL base,LL p,LL mod){ LL ret = 1; while (p) { if (p & 1) ret = ret * base % mod; base = base * base % mod; p >>= 1; } return ret;} LL S[10000],c;LL f1,f2;void F(LL p,LL mod){ LL A[2][2] = { 0 };
|