0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-09 01:38:48 +00:00
OI-codes/AcWing/878/878.cpp

41 lines
591 B
C++
Raw Normal View History

#include <iostream>
using std::cin;
using std::cout;
const char endl = '\n';
int n, a, b, m, x, y;
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 main() {
std::ios::sync_with_stdio(false);
cin >> n;
while (n--) {
cin >> a >> b >> m;
int d = exgcd(a, m, x, y);
if (b % d) {
cout << "impossible" << endl;
} else {
cout << 1ll * b / d * x % m << endl;
}
}
return 0;
}