/*#include <stdio.h>
int n;
void f(int n)
{
if(n==1)
{
printf("hello");
}
else if(n==2)
{
printf("world");
}
}
int main()
{
scanf("%d", &n);
f(n);
return 0;
}
void 씻기()
{
양치하기;
세수하기;
이닦기;
샤워하기;
머리말리기;
return ;
}
void 밥먹기(int time)
{
if(time==8)
아침밥먹기;
else if(time==12)
점심밥먹기;
else
저녁밥먹기;
return ;
}
int f(int a, int b)
{
return a*b;
}
int main()
{
일어나기;
씻기();
밥먹기(8);
학교가기;
밥먹기(12);
학원가기;
printf("%d",f(5,10));
밥먹기(18);
씻기();
자기;
}*/
/*
#include <stdio.h>
int n, a, b, d[1010];
long long int subsetsum(int a, int b)
{
long long int sum=0;
for(int i=a;i<=b;i++)
{
sum=sum+d[i];
}
return sum;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d%d", &a, &b);
printf("%lld\n", subsetsum(a, b));
}
*/
/*
#include <stdio.h>
float circle(int r)
{
return 3.14*r*r;
}
main()
{
int r;
scanf("%d", &r);
printf("%.2f", circle(r));
}
*/
/*
#include <stdio.h>
int n;
long long int d[110];
long long int f()
{
long long int min=d[1];
for(int i=1;i<=n;i++)
{
if(min>d[i])
{
min=d[i];
}
}
return min;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%lld", &d[i]);
printf("%lld", f());
return 0;
}
*/
/*
#include <stdio.h>
int n, d[100010], k;
int f(int k)
{
int first=-1;
for(int i=1;i<=n;i++)
{
if(k==d[i])
{
return i;
}
}
return first;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", f(k));
}
*/
#include <stdio.h>
int a, b;
int gcd(int a, int b)
{
int sum=1;
for(int i=2;i<=100000000;i++)
{
if(a%i == 0 && b%i == 0)
{
a=a/i;
b=b/i;
sum=sum*i;
if(a/i<0 || b/i<0)
{
return sum;
break;
}
}
}
return sum;
}
int main()
{
scanf("%d%d", &a, &b);
printf("%d\n", gcd(a, b));
}