//int main()
//{
// scanf("%d", &n);
// printf("%d\n", f(n));
//}
//#include <stdio.h>
//
//int n, m;
//
//
//long long int f(int a , int q)
//{
// return (long long int)a+q;
//}
//
//
//
//
//
//
//
//
//int main()
//{
// scanf("%d%d", &n, &m);
// printf("%lld\n", f(n, m));
//}
//#include <stdio.h>
//
//int n;
//
//long long int d[110];
//
//long long int f()
//{
// long long int i;
// long long int min=d[1];
// for(i=1 ;i<=n ;i++)
// {
// if(d[i] < min)
// {
// 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 a, b;
int gcd(int a,int b)
{
int i,j,max=1;
for(i=b ; i>=1 ; i--)
{
if(a%i==0 && b%i==0)
{
return i;
}
}
}
int main()
{
scanf("%d%d", &a, &b);
printf("%d\n", gcd(a, b));
}