#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=1300000;int pri[100001],cnt,n;bool ispri[maxn];void Init(){ ispri[1]=1; cnt=0; for(int i=2;i<maxn;i++) {if(!ispri[i]) pri[cnt++]=i;for(int j=2;i*j<maxn;j++) ispri[i*j]=1; }}int Search(int val){ int l=0,r=cnt-1; while(l<r) {int mid=(l+r)>>1;if(pri[mid]<val&&pri[mid+1]>val) return pri[mid+1]-pri[mid];if(pri[mid]>val&&pri[mid-1]<val) return pri[mid]-pri[mid-1];if(pri[mid]>val) r=mid-1;else l=mid+1; }}int main(){ Init(); while(scanf("%d",&n)&&n)printf("%dn",ispri[n]?Search(n):0); return 0;}