#include <stdio.h>
#define MAX 7368791
char  flag[MAX+1];                //  
ふるいに用いる配列
int  m;                                    //  
最短の寿命
: 2 <= m <= 100
int  n;                                    //  
区画数
: 1 <= n
 <= 500000
int main(void)
{ 
        int i,j;
        while(1){
                scanf("%d%d",  &m,  &n);                    //  m,  n  
の入力
                if(m==0  &&  n==0)  break;                  //  
両方
0
なら終了
                for(i=0; i<=MAX; i++) flag[i] = 0;            // 
ふるいの配列を初期化
                for(i=0;  i<n;  i++){                
          // 
各区画に対して繰り返す
                        for(j=m; j<=MAX; j += m)        // m 
の倍数をふるい落とす
flag[j] = 1;
                        while(flag[m]==1)  m++;            //  
残った数値の最小のものを
m
とする
                } 
                printf("%d
\n",m);
        }
        r
eturn 
0; 
} 
