http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3609
#include <iostream>
#include <cstdio>
#include <string.h>
#include <cstdlib>
using namespace std;
typedef long long LL;
LL e_gcd(LL a, LL b, LL &x, LL &y)
{
if(b==0){
x = 1;
y = 0;
return a;
}
LL ans = e_gcd(b,a%b,x,y);
LL temp = x;
x = y;
y = temp-a/b*y;
return ans;
}
LL cal(LL a, LL b, LL c)
{
LL x, y;
LL gcd = e_gcd(a,b,x,y);
if(c%gcd!=0) return -1;
x*=c/gcd;
b/=gcd;
if(b<0) b=-b;
LL ans = x%b;
if(ans<=0) ans+=b;
return ans;
}
int main()
{
int t;
scanf("%d", &t);
LL a,b;
while(t--){
scanf("%lld %lld", &a, &b);
LL ans = cal(a,b,1);
if(ans==-1) printf("Not Exist\n");
else printf("%lld\n", ans);
}
return 0;
}