#include<iostream>usingnamespace std;int f1 =0, f2 =0;voiddfs(int n,int m,int f){if(f1)return;if(n ==1&& m ==1){f1 =1;//要保證n與m的因子不同,利用先后遞歸,避免兩者使用同一個因子,在n有100以內的因子時,m也有其他與n不重復的因子return;}if(m ==1)f2 =1;while(f >1){if(n % f ==0)dfs(n / f, m, f -1);if(m % f ==0)dfs(n, m / f, f -1);f--;}}intmain(){int n, m =0;while(cin >> n >> m){if(n ==0&& m ==0)break;int t =0;if(m > n){t = n; n = m; m = t;}f1 =0;f2 =0;dfs(n, m,100);if(f1 ==0&& f2) cout << m << endl;else cout << n << endl;}return0;}