void exgcd(int &x,int &y,int a,int b)
{
if(!b)
{
x=1;
y=0;
return;
}
exgcd(x,y,b,a%b);
int t=x;
x=y;
y=t-a/b*y;
}
void solve(){
//求解 ax+by =c 的不定方程
int a,b,c;cin>>a>>b>>c;
if(c%__gcd(a,b)){//无解
cout<<-1<<endl;return;
}
int x0,y0;
exgcd(x0,y0,a,b);
int g=__gcd(a,b);
x0*=c/g;
y0*=c/g;
int dx = b/g, dy=a/g;
int dn = ceil((-x0+1)*1.0/dx);
int up = floor((y0-1)*1.0/dy);
if(dn>up){
//无正整数解
cout<<x0 +dn*dx<<' '<<y0 - up*dy<<endl;
}else{
//有正整数解
cout<<(up-dn+1)<<' ';//解的个数
cout<<(x0+dn*dx)<<' ';//x_min
cout<<(y0-up*dy)<<' ';//y_min
cout<<(x0+up*dx)<<' ';//x_max
cout<<(y0-dn*dy)<<' ';//y_max
cout<<endl;
}
}