import java.util.Scanner;


public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String[] line = s.nextLine().split(" ");
		int v1 = Integer.parseInt(line[0]);
		int v2 = Integer.parseInt(line[1]);
		System.out.println(gcd(v1, v2));
	}

	public static int gcd(int v1, int v2) {
		if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		}

		if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		}
	}

} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String[] line = s.nextLine().split(" ");
		int v1 = Integer.parseInt(line[0]);
		int v2 = Integer.parseInt(line[1]);
		System.out.println(gcd(v1, v2));
	}

	public static int gcd(int v1, int v2) {
		if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		}

		if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		}
	}

} Main public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String[] line = s.nextLine().split(" ");
		int v1 = Integer.parseInt(line[0]);
		int v2 = Integer.parseInt(line[1]);
		System.out.println(gcd(v1, v2));
	} main {
		Scanner s = new Scanner(System.in);
		String[] line = s.nextLine().split(" ");
		int v1 = Integer.parseInt(line[0]);
		int v2 = Integer.parseInt(line[1]);
		System.out.println(gcd(v1, v2));
	} Scanner s = new Scanner(System.in); s new Scanner(System.in) String[] line = s.nextLine().split(" "); line s.nextLine().split(" ") s.nextLine().split s.nextLine() s.nextLine s " " int v1 = Integer.parseInt(line[0]); v1 Integer.parseInt(line[0]) Integer.parseInt Integer line[0] line 0 int v2 = Integer.parseInt(line[1]); v2 Integer.parseInt(line[1]) Integer.parseInt Integer line[1] line 1 System.out.println(gcd(v1, v2)) System.out.println System.out System System.out gcd(v1, v2) gcd v1 v2 String[] args args public static int gcd(int v1, int v2) {
		if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		}

		if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		}
	} gcd {
		if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		}

		if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		}
	} if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		} v1<v2 v1 v2 {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		} int tmp = v1; tmp v1 v1 = v2 v1 v2 v2 = tmp v2 tmp if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		} v1%v2 == 0 v1%v2 v1 v2 0 {
			return v2;
		} return v2; v2 {
			return gcd(v2, v1%v2);
		} return gcd(v2, v1%v2); gcd(v2, v1%v2) gcd v2 v1%v2 v1 v2 int v1 v1 int v2 v2 public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String[] line = s.nextLine().split(" ");
		int v1 = Integer.parseInt(line[0]);
		int v2 = Integer.parseInt(line[1]);
		System.out.println(gcd(v1, v2));
	}

	public static int gcd(int v1, int v2) {
		if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		}

		if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		}
	}

} public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String[] line = s.nextLine().split(" ");
		int v1 = Integer.parseInt(line[0]);
		int v2 = Integer.parseInt(line[1]);
		System.out.println(gcd(v1, v2));
	}

	public static int gcd(int v1, int v2) {
		if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		}

		if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		}
	}

} Main
import java.util.Scanner;


public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String[] line = s.nextLine().split(" ");
		int v1 = Integer.parseInt(line[0]);
		int v2 = Integer.parseInt(line[1]);
		System.out.println(gcd(v1, v2));
	}

	public static int gcd(int v1, int v2) {
		if(v1<v2) {
			int tmp = v1;
			v1 = v2;
			v2 = tmp;
		}

		if(v1%v2 == 0) {
			return v2;
		} else {
			return gcd(v2, v1%v2);
		}
	}

}