#include <stdio.h>
#define MAX 7368792

int isPrime[MAX];

void eratos(int n) {
  int i, j;
  for (i = 0; i < MAX; i++)
    isPrime[i] = 1;
  for (i = 0; i < n; i++)
    isPrime[i] = 0;

  for (i = n; i * i < MAX; i++) {
    if (isPrime[i]) {
      for (j = i + i; j <= MAX; j += i)
	isPrime[j] = 0;
    }
  }
}

int main(void) {
  int m, n, i, count;
  while (1) {
    scanf("%d %d", &m, &n);
    if (m == 0 && n == 0) return 0;
    eratos(m);

    count = 0;
    for (i = m; ; i++) {
      if (isPrime[i]) count++;
      if (count == n + 1) break;
    }
    printf("%d\n", i);
  }
}