Grimm's Conjecture

Time limit2sMemory limit128 MB

Problem

Grimm's conjecture states that whenever you are given a block of consecutive composite numbers, you can assign to each of them a distinct prime that divides it.

Formally, if $n+1, n+2, \dots, n+k$ are all composite, then there exist $k$ distinct primes $p_i$ such that $p_i$ divides $n+i$. ($1 \le i \le k$)

Given an interval $[L, H]$ of consecutive composite numbers, write a program that, for each of $L, L+1, \dots, H$, finds one distinct prime dividing it.

If several assignments are possible, output the lexicographically smallest one: make the prime assigned to the first number as small as possible; among those, make the prime assigned to the second number as small as possible; then the third, and so on.

Input

The input consists of several test cases. Each test case is a single line with two integers $L$ and $H$. ($4 \le L < H \le 10^{10}$)

Every number in the interval $[L, H]$ is guaranteed to be composite.

The last line contains two zeros and must not be processed.

Output

For each test case, print on one line the prime assigned to each number from $L$ to $H$, separated by single spaces.