import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] arges) throws ParseException {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] kz = line.split(" ");
		int v1 = Integer.parseInt(kz[0]);
		int v2 = Integer.parseInt(kz[1]);
		List<Integer> vlist = new ArrayList<Integer>();
		List<Integer> v3list = new ArrayList<Integer>();
		List<Integer> kouyaku = new ArrayList<Integer>();
		if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		}

		for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		}
		System.out.println(java.util.Collections.max(kouyaku));

	}
} import java.text.ParseException; ParseException java.text import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] arges) throws ParseException {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] kz = line.split(" ");
		int v1 = Integer.parseInt(kz[0]);
		int v2 = Integer.parseInt(kz[1]);
		List<Integer> vlist = new ArrayList<Integer>();
		List<Integer> v3list = new ArrayList<Integer>();
		List<Integer> kouyaku = new ArrayList<Integer>();
		if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		}

		for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		}
		System.out.println(java.util.Collections.max(kouyaku));

	}
} Main public static void main(String[] arges) throws ParseException {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] kz = line.split(" ");
		int v1 = Integer.parseInt(kz[0]);
		int v2 = Integer.parseInt(kz[1]);
		List<Integer> vlist = new ArrayList<Integer>();
		List<Integer> v3list = new ArrayList<Integer>();
		List<Integer> kouyaku = new ArrayList<Integer>();
		if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		}

		for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		}
		System.out.println(java.util.Collections.max(kouyaku));

	} main {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] kz = line.split(" ");
		int v1 = Integer.parseInt(kz[0]);
		int v2 = Integer.parseInt(kz[1]);
		List<Integer> vlist = new ArrayList<Integer>();
		List<Integer> v3list = new ArrayList<Integer>();
		List<Integer> kouyaku = new ArrayList<Integer>();
		if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		}

		for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		}
		System.out.println(java.util.Collections.max(kouyaku));

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String line = sc.nextLine(); line sc.nextLine() sc.nextLine sc String[] kz = line.split(" "); kz line.split(" ") line.split line " " int v1 = Integer.parseInt(kz[0]); v1 Integer.parseInt(kz[0]) Integer.parseInt Integer kz[0] kz 0 int v2 = Integer.parseInt(kz[1]); v2 Integer.parseInt(kz[1]) Integer.parseInt Integer kz[1] kz 1 List<Integer> vlist = new ArrayList<Integer>(); vlist new ArrayList<Integer>() List<Integer> v3list = new ArrayList<Integer>(); v3list new ArrayList<Integer>() List<Integer> kouyaku = new ArrayList<Integer>(); kouyaku new ArrayList<Integer>() if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		} v1 < v2 v1 v2 {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} int v3 = v2 % v1; v3 v2 % v1 v2 v1 if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			} v1 >= v3 v1 v3 {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				} int i = 1; int i = 1; i 1 i <= v3 i v3 i++ i++ i {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				} {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				} if (v3 % i == 0) {
						v3list.add(i);
					} v3 % i == 0 v3 % i v3 i 0 {
						v3list.add(i);
					} v3list.add(i) v3list.add v3list i if (v1 % i == 0) {
						vlist.add(i);
					} v1 % i == 0 v1 % i v1 i 0 {
						vlist.add(i);
					} vlist.add(i) vlist.add vlist i {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			} for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				} int i = 1; int i = 1; i 1 i <= v1 i v1 i++ i++ i {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				} {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				} if (v3 % i == 0) {
						v3list.add(i);
					} v3 % i == 0 v3 % i v3 i 0 {
						v3list.add(i);
					} v3list.add(i) v3list.add v3list i if (v1 % i == 0) {
						vlist.add(i);
					} v1 % i == 0 v1 % i v1 i 0 {
						vlist.add(i);
					} vlist.add(i) vlist.add vlist i if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		} v1 > v2 v1 v2 {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} int v3 = v1 % v2; v3 v1 % v2 v1 v2 if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			} v3 >= v2 v3 v2 {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				} int i = 1; int i = 1; i 1 i <= v2 i v2 i++ i++ i {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				} {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				} if (v2 % i == 0) {
						vlist.add(i);
					} v2 % i == 0 v2 % i v2 i 0 {
						vlist.add(i);
					} vlist.add(i) vlist.add vlist i if (v3 % i == 0) {
						v3list.add(i);
					} v3 % i == 0 v3 % i v3 i 0 {
						v3list.add(i);
					} v3list.add(i) v3list.add v3list i {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			} for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				} int i = 1; int i = 1; i 1 i <= v3 i v3 i++ i++ i {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				} {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				} if (v3 % i == 0) {
						v3list.add(i);
					} v3 % i == 0 v3 % i v3 i 0 {
						v3list.add(i);
					} v3list.add(i) v3list.add v3list i if (v2 % i == 0) {
						vlist.add(i);
					} v2 % i == 0 v2 % i v2 i 0 {
						vlist.add(i);
					} vlist.add(i) vlist.add vlist i {
			kouyaku.add(v1);
		} kouyaku.add(v1) kouyaku.add kouyaku v1 for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		} int integer vlist {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		} {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		} for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			} int in v3list {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			} {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			} if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				} integer == in integer in {
					kouyaku.add(in);
					break;

				} kouyaku.add(in) kouyaku.add kouyaku in break; if (integer < in) {
					break;
				} integer < in integer in {
					break;
				} break; System.out.println(java.util.Collections.max(kouyaku)) System.out.println System.out System System.out java.util.Collections.max(kouyaku) java.util.Collections.max java.util.Collections java.util java java.util java.util.Collections kouyaku String[] arges arges public class Main {

	public static void main(String[] arges) throws ParseException {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] kz = line.split(" ");
		int v1 = Integer.parseInt(kz[0]);
		int v2 = Integer.parseInt(kz[1]);
		List<Integer> vlist = new ArrayList<Integer>();
		List<Integer> v3list = new ArrayList<Integer>();
		List<Integer> kouyaku = new ArrayList<Integer>();
		if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		}

		for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		}
		System.out.println(java.util.Collections.max(kouyaku));

	}
} public class Main {

	public static void main(String[] arges) throws ParseException {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] kz = line.split(" ");
		int v1 = Integer.parseInt(kz[0]);
		int v2 = Integer.parseInt(kz[1]);
		List<Integer> vlist = new ArrayList<Integer>();
		List<Integer> v3list = new ArrayList<Integer>();
		List<Integer> kouyaku = new ArrayList<Integer>();
		if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		}

		for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		}
		System.out.println(java.util.Collections.max(kouyaku));

	}
} Main
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] arges) throws ParseException {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] kz = line.split(" ");
		int v1 = Integer.parseInt(kz[0]);
		int v2 = Integer.parseInt(kz[1]);
		List<Integer> vlist = new ArrayList<Integer>();
		List<Integer> v3list = new ArrayList<Integer>();
		List<Integer> kouyaku = new ArrayList<Integer>();
		if (v1 < v2) {
			int v3 = v2 % v1;
			if (v1 >= v3) {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}
			} else {
				for (int i = 1; i <= v1; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v1 % i == 0) {
						vlist.add(i);
					}
				}

			}

		} else if (v1 > v2) {
			int v3 = v1 % v2;
			if (v3 >= v2) {

				for (int i = 1; i <= v2; i++) {
					if (v2 % i == 0) {
						vlist.add(i);
					}
					if (v3 % i == 0) {
						v3list.add(i);
					}

				}
			} else {

				for (int i = 1; i <= v3; i++) {
					if (v3 % i == 0) {
						v3list.add(i);
					}
					if (v2 % i == 0) {
						vlist.add(i);
					}
				}
			}
		} else {
			kouyaku.add(v1);
		}

		for (int integer : vlist) {
			for (int in : v3list) {
				if (integer == in) {
					kouyaku.add(in);
					break;

				} else if (integer < in) {
					break;
				}
			}
		}
		System.out.println(java.util.Collections.max(kouyaku));

	}
}