P2613 【模板】有理数取余
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define int __int128
const int mod = 19260817;
int a , b , x , y;
inline int read(){
int s = 0;
char c = getchar();
while(isdigit(c)){
s = (s << 1) + (s << 3) + (c ^ 48);
s %= mod;
c = getchar();
}
return s;
}
inline void write(int x){
if(x > 9)write(x / 10);
putchar('0' + x % 10);
}
inline int extend_gcd(int a , int b , int &x , int &y){
if(b == 0){
x = 1 , y = 0;
return a;
}
int d = extend_gcd(b , a % b , y , x);
y -= a / b * x;
return d;
}
signed main(){
a = read();
b = read();
int d = extend_gcd(b , mod , x , y);
if(a % d){
cout << "Angry!";
return 0;
}
x = ((x * (a / d)) % (mod / d) + (mod / d)) % (mod / d);
x %= mod;
write(x);
return 0;
}