//裴蜀定理:对于任意一对正整数a,b,那么一定存在非零整数x,y,使得
//ax+by=(a,b)最大公约数(且有,最大公约数是a和b能凑出来的最小正整数)
//欧几里得算法能证明
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;
//1.扩张欧几里得算法
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);
//by+(a%b)x=by+(a-(a/b)*b)x=ax+b(y-(a/b)x)=(a,b)=ax0+by0
y-=a/b*x;
return d;
}
//2.线性同余方程:求x使得ax=b(mod m)
//ax=b(mod m)<-->ax=my+b<-->ax+m(-y)=b
int ty(int a,int b,int &x,int &y)
{
exgcd(a,b,x,y);
}
int main()
{
int a,b,m,x,y;
cin>>a>>b>>m;
int d=exgcd(a,m,x,y);
if(b%d)puts("impossible");//b不是d的倍数
else printf("%d\n",(LL)x*(b/d)%m);
//d是最小公倍数,b是最终值,故x要乘上倍数b/b/d(这里先记住)
return 0;
}