#include <iostream>
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "math.h"
using namespace std;
#define N 50005
int gcd(int a,int b)
{
if(b==0) return a;
else return gcd(b,a%b);
}
int e_gcd( int a, int b,int *x, int *y)//扩展欧几里得
{
if(b==0){
*x=1;
*y=0;
return a;
}
int ans=e_gcd(b,a%b,x,y), temp=*x;
*x=*y;
*y=temp-a/b*(*y);
return ans;
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
int x,y;
int ans=e_gcd(a,b,&x,&y);
printf("gcd:%d\n%d %d\n",ans,x,y);
}
}
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "math.h"
using namespace std;
#define N 50005
int gcd(int a,int b)
{
if(b==0) return a;
else return gcd(b,a%b);
}
int e_gcd( int a, int b,int *x, int *y)//扩展欧几里得
{
if(b==0){
*x=1;
*y=0;
return a;
}
int ans=e_gcd(b,a%b,x,y), temp=*x;
*x=*y;
*y=temp-a/b*(*y);
return ans;
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
int x,y;
int ans=e_gcd(a,b,&x,&y);
printf("gcd:%d\n%d %d\n",ans,x,y);
}
}