/*
a*x=b(mod m)->a*x=b+y*m->a*x+y*m=b
求excgd(a,m,x,y),得到a*x+y*m=(a,m)
若b%(a,m)=0,则说明有解,显然此时x=x*b/d,答案在int范围内,则mod m可得答案
*/
#include<iostream>
using namespace std;
typedef long long ll;
int n;
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()
{
cin>>n;
while(n--)
{
int a,b,m,x,y;
cin>>a>>b>>m;
int d=exgcd(a,m,x,y);
if(b%d)
puts("impossible");
else
{
x=(ll)x*b/d%m;
cout<<x<<endl;
}
}
return 0;
}