1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #include<cstdio> #define re register #define int long long const int MOD = 19260817;
inline void read(int &a) { register char c; while (c = getchar(), c < '0' || c >'9'); register int x(c - '0'); while (c = getchar(), c >= '0' && c <= '9') { x = (x * 10 + c - '0') % MOD; } a = x; }
int exgcd(int a, int b, int& x, int& y) { if (!b) { x = 1, y = 0; return a; } int d = exgcd(b, a % b, y, x); y -= a / b * x; return d; } int inv(int n, int mod) { int inv, k; exgcd(n, mod, inv, k); return (inv % mod + mod) % mod; }
int frac(int a, int b, int mod) { return (a * inv(b, mod)) % mod; }
int a, b; signed main() { read(a), read(b); if (!(b % MOD)) { printf("Angry!\n"); return 0; } printf("%lld\n", frac(a, b, MOD)); }
|