#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 = 2; i * j < MAX; j++)
	isPrime[i * 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]) {
	if (count == n) break;
	count++;
      }
    }
    printf("%d\n", i);
  }
}