#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main () {
//2.4.2:求十个数中的最大值
// int a;
// int max = 0;
// for(int i = 0;i < 10;i++){
// scanf("%d",&a);
// max = a > max ? a : max;
// }
// printf("最大值是%d",max);
//2.4.3:abc按大小顺序输出
// int a,b,c;
// scanf("%d%d%d",&a,&b,&c);
// int temp;
// if(a<b){
// temp = a;
// a=b;
// b=temp;
// }
// if(a<c){
// temp = a;
// a = c;
// c = temp;
// }
// if(b<c){
// temp = b;
// b = c;
// c = temp;
// }
// printf("%d,%d,%d",a,b,c);
//2.4.4:1+2+3+...+100
// int sum;
// for(int i = 1;i<=100;i++){
// sum += i;
// }
// printf("和为%d",sum);
//2.4.5:n能否同时被3和5整除
// int n;
// scanf("%d",&n);
// if(n%3==0&&n%5==0){
// printf("%d能被3和5整除\n",n);
// }else{
// printf("%d不能被3和5同时整除\n",n);
// }
//2.4.6:输出100~200之间所有的素数
// int j;
// for(int i=100;i<=200;i++){
// for(j=2;j<i;j++){
// if(i%j==0){
// break;
// }
// }
// if(j==i){
// printf("%d是素数\n",i);
// }
// }
//2.4.7:求两个数m和n的最大公约数
int m,n;
int temp;
scanf("%d%d",&m,&n);
int min = m > n ? n : m;
for(int i = 2;i < min;i++){
if(m%i==0&&n%i==0){
temp = i;
}
}
printf("最大公约数为%d\n",temp);
return 0;
}