semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{
	int prime_number(int i);
	int palindrome_number(int i);
	int m,n,a,b,i,flag;
	scanf("%d %d",&m,&n);
	for(i=m,flag=0;i<=n;i++)
	{
		a=prime_number(i);
		b=palindrome_number(i);
        if(a==1&&b==1)
		{
			flag++;
			if(flag==1) printf("%d",i);
			else printf(",%d",i);
		}
	}
	if(flag==0) printf("no\n");
}
	int prime_number(int i)
	{
		int j,k,z,p,l;
		z=0;
		k=sqrt(i);
		for(j=2,l=0;j<=k;j++)
		{
			p=i%j;
			if(p==0) l++;
		}
		if(l==0) z=1;
		return(z);
	}
	int palindrome_number(int i)
	{
		int a,b,c,d,e,h,z;
		z=0;
		if(i>0&&i<10) z=1;
		else if(i>=10&&i<100)
		{
			b=i/10;
			a=i-b*10;
			h=a*10+b;
			if(h==i) z=1;
		}
		else if(i>=100&&i<1000)
		{
			c=i/100;
			b=(i-c*100)/10;
			a=i-c*100-b*10;
			h=a*100+b*10+c;
			if(h==i) z=1;
		}
		else if(i>=1000&&i<10000)
		{
			d=i/1000;
			c=(i-d*1000)/100;
			b=(i-d*1000-c*100)/10;
			a=i-d*1000-c*100-b*10;
			h=a*1000+b*100+c*10+d;
			if(h==i) z=1;
		}
		else 
		{
			e=i/10000;
			d=(i-e*10000)/1000;
			c=(i-e*10000-d*1000)/100;
			b=(i-e*10000-d*1000-c*100)/10;
			a=i-e*10000-d*1000-c*100-b*10;
			h=a*10000+b*1000+c*100+d*10+e;
			if(h==i) z=1;
		}
		return(z);
	}
void main()
{
	long a,b,c,d,e,x,y,i,j=0,m,n,p[32768];
	int q=0,s;
	double t;
	scanf("%ld %ld",&m,&n); 
	for(x=m;x<=n;x++)
	{
		a=x/10000;
        b=x%10000/1000; 
        c=x%1000/100; 
        d=x%100/10; 
        e=x%10; 
	    if(a!=0)
			y=e*10000+d*1000+c*100+b*10+a;
	    else
		{
			if(b!=0)
				y=e*1000+d*100+c*10+b;
			else
			{
				if(c!=0)
					y=e*100+d*10+c;
				else
				{
					if(d!=0)
						y=e*10+d;
					else
						y=e;
				}
			}
		}
	    t=sqrt(x);
	    for(i=2;i<=t;i++)
		{
			if(x%i==0)
				j++;
		}
		if(x==y&&j==0)
		{
		    p[q]=x;
		    q++;
		    j=0;
		}
	    else
		{
			j=0;
	    	continue;
		}
	}
	if(q==0)
		printf("no\n");
	else
	{
		for(s=0;s<=q-2;s++)
			printf("%ld,",p[s]);
		printf("%ld\n",p[q-1]);
	}
}
void main()
{
	int m,n,i,p,flag,a,ok,w,b;
	scanf("%d %d",&m,&n);
	ok=1;
	for(i=m;i<=n;i++)
	{
		a=0;
		flag=1;
		for(p=2;p<=i/2;p++)
		{
			if(i%p==0)
			{
				flag=0;
				break;
			}
		}
		if(flag==0)
			continue;
		w=i;
		while(w)
		{
			b=w%10;
			a=a*10+b;
			w=w/10;
		}
		if(a==i)
		{
			printf((!ok)?",%d":"%d",i);
			ok=0;
		}
	}
	if(ok==1)
		printf("no");
}
int main()
{
	int m,n,i,j,p,k,h,sh,ch,l,o,x=0,a[10000];
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		j=0;l=i;
		p=log10(i);
		for(k=p;k>=1;k--)
		{
			sh=1;
			ch=1;
			for(h=1;h<p-k+1;h++)
				ch=ch*10;
			for(h=0;h<k;h++)
               sh=sh*10;
			j=l/sh*ch+j;
			l=l-sh*(l/sh);
		} 
        ch=ch*10;
		j=l*ch+j;
		j=j+1-1;
		if(i==j)
		{
			for(o=2;o<=sqrt(j);o++)
			{
				if(j%o==0)
					break;
			}
			if(o==(int)sqrt(j)+1)
			{
			a[x]=j;
			x=x+1;
			}
		}
	}


	if(x==0)
		printf("no");
	else
	{
		
		for(i=0;i<x;i++)
		{if(i!=x-1)
		printf("%d,",a[i]);
		else printf("%d",a[i]);
		}
	}
	







	return 0;
}
int f(int i)
{
	int j,w;
	w=0;
	if(i<=2)w=1;
	else
	for(j=2;j<i;j++)
		if(i%j==0)w=1;
	return(w);
}

void main()
{
int m,n,i,num[100],j,a,sum,I,w,ans[100],K,k;
scanf("%d %d",&m,&n);
for(i=m,k=0,w=0;i<=n;i++)
{
	I=i;
	a=(int)log10(i);
	for(j=1;j<=a+1;j++)
	{
		num[j]=i/(int)pow(10,a-j+1);
		i=i%(int)pow(10,a-j+1);
	}
	for(j=a+1,sum=0;j>=1;j--)
	sum=sum+num[j]*(int)pow(10,j-1);
	if(I==sum)
		if(f(I)==0)
		{ans[k]=I;k++;}
	i=I;
}
if(k==0)printf("no");
else 
{
K=k-1;
for(k=0;k<K;k++)printf("%d,",ans[k]);
printf("%d",ans[k]);
}
}
void main()
{
	int m,n,j,i,k=0,h,d,x,y,z;
	int a[2000],b[10];
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		for(j=2;j<i;j++)
		{
			if(i%j==0)
				break;
			if(j==i-1)
			{
			    a[k]=i;
				k++;
			}
		}
	}
	for(i=0,z=0;i<=k-1;i++)
	{
		for(h=100000,d=1;d<=6;d++)
		{
			h=h/10;
			if(a[i]/h!=0)
				break;
		}
		for(j=0,x=1;j<=5-d;j++)
		{
			y=x;
			x=x*10;
			b[5-d-j]=(a[i]%x)/y;
		}
		for(j=0;j<=5-d;j++)
		{
			if(b[j]!=b[5-d-j])
				break;
			if(j==5-d)
			{z=z+1;
			if(z==1)printf("%d",a[i]);
			if(z>1)printf(",%d",a[i]);
			}
		}
	}
	if(z==0)printf("no");

	printf("\n");
}
int su(int x);
int hui(int x);
void main()
{
	int m,n,flag=0,x;
	scanf("%d%d",&m,&n);
	for(x=m;x<=n;x++)
	{
		if(su(x)+hui(x)==2)
		{
			if(flag==1)printf(",");
			printf("%d",x);
			flag=1;
		}
	}
	if(flag==0)printf("no");
}

int su(int x)
{
	if(x==1)return(0);
	else 
	{
		int i,flag=1;
		for(i=2;i<=x/2;i++)
		{
			if(x%i==0){flag=0;break;}
		}
		return(flag);
	}
}

int hui(int x)
{
	int i=x,n=0,flag=1,*p;
	while(i>0){i=i/10;n+=1;}
	p=(int *)malloc(n*sizeof(int));
	for(i=x;i>0;i=i/10)
	{
		*p=i%10;
		p+=1;
	}
	i=0,p-=n;
	while(i<n/2)
	{
		if(*(p+i)!=*(p+n-i-1)){flag=0;break;}
		i+=1;
	}
	return(flag);
}
int sushu(long x)
{
	long h;
	for(h=2;h<=sqrt(x);h++)
		if(x%h==0) return 0;
	return 1;
}
int huiwen(long x)
{
	long y=0,z=x;
	while(x!=0)
	{
		y=y*10+x%10;
		x=x/10;
	}
	if(z==y) return 1;
	else return 0;
}

void main()
{
	long int m,n,i,k=0,a[1000];
	scanf("%ld %ld",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(sushu(i)&&huiwen(i)) {k++;a[k]=i;}
	}
	if(k!=0){
	for(i=1;i<k;i++)
		printf("%ld,",a[i]);
	printf("%ld\n",a[k]);}
	else printf("no");
}
int main()
{
  int f(int a);
  int g(int a);
  int m,n;
  scanf("%d%d",&m,&n);
  int i,x=0;
  for(i=m;i<=n;i++)
  {
    if(f(i)==1&&g(i)==1)
    {
      printf("%d",i);
      x++;
      break;
    }
  }
  for(i=i+1;i<=n;i++)
  {
    if(f(i)==1&&g(i)==1)
    {
      printf(",%d",i);
      x++;
    }
  }
  if(x==0) printf("no");
return 0;
}
int f(int a)
{
  int i,k,l;
  k=sqrt(a);
  for(i=2;i<=k;i++)
  if(a%i==0) break;
  if(i>k) l=1;
  else l=0;
  return(l);
}
int g(int a)
{
  int i,x=0,j,k;
  for(i=0;i<=9;i++)
  {
	  if(a==i+10*i) x=1;
      for(j=0;j<=9;j++)
	  {
		  if(a==i+10*j+100*i) x=1;
		  if(a==i+10*j+100*j+1000*i) x=1;
		  for(k=0;k<=9;k++)
		  {
			  if(a==i+10*j+100*k+1000*j+10000*i) x=1;
		  }
	  }
  }
  return(x);
}
int isprime(int n)
{
	int i;
	if(n%2==0) return 0;
	for(i=3;i<=(int)sqrt(n);i+=2)
		if(n%i==0) return 0;
	return 1;
}
int isturn(int n)
{
	char num[10];
	int k=0,i;
	while(n/10!=0) 
	{
		num[k++]=n%10+'0';
		n=n/10;
	}
	num[k++]=n%10+'0';
	for(i=0;i<=k/2;i++)
		if(num[i]!=num[k-1-i]) return 0;
	return 1;
}
int main()
{
	int n,m,i,t=1,flag=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
		if(isprime(i)&&isturn(i)) 
			if(t==1) {printf("%d",i);t=0;flag=1;}
			else printf(",%d",i);
	printf("\n");
	if(flag==0) printf("no\n");
	return 0;
	
}
int q(int l);
int p(int l);
void main()
{
	int n,m,i,j=0,a[1000];
	scanf("%d%d",&n,&m);
	for(i=n;i<=m;i++)
	{
		if(q(i)!=0&&p(i)!=0){a[j]=i;j++;}
	}
	if(j==0)printf("no");
	else {printf("%d",a[0]);for(i=1;i<j;i++)printf(",%d",a[i]);}
	printf("\n");
}
int q(int l)
{
	int i;
	if(l%2==0)return 0;
	else {
		for(i=3;i<=sqrt(l);i=i+2)if(l%i==0)break;
		if(i<=sqrt(l))return 0;else return 1;
	}
}

int p(int l)
{
	int i,j,h;char a[20];
	i=0;
	while(l)
	{
		a[i]=l%10;
		l=l/10;
		i++;
	}
	for(j=0;j<i;j++)if(a[j]!=a[i-j-1])break;
	if(j<i)return 0;else return 1;
}
int main()
{
	int zhishu(int n);
	int m,n,i,w,t,k=0,a=0;
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(i==1)continue ;
		if(i%2==0&&i!=2)continue;/*?????????????*/
		if(i%3==0&&i!=3)continue;
	
			w=log10(i);t=pow(10,w);
		
		
		if(i%10 !=i/t)continue;
	if(w>=3&&(  (i-i%10) /10  ) %10 !=(i/(t/10))%10)continue;/*???????????*/
	if(w>=5  &&    (i/10-     (  (i-i%10) /10  )  %10 ) /10%10  !=  (i/(t/100) )%10  )
		continue;/*????2???????*/
	if(w>=7  &&   (i/10- ((i/10-     (  (i-i%10) /10  )  %10 ) /10%10 ) )/10%10!=  (i/(t/1000) )%10  )
		continue;/*????*/
	if(w>=9  &&   (i/10-((i/10- ((i/10-     (  (i-i%10) /10  )  %10 ) /10%10 ) )/10%10))/10%10!=  (i/(t/10000) )%10  )
		continue;
	if(w>=11  &&   (i/10-((i/10-((i/10- ((i/10-     (  (i-i%10) /10  )  %10 ) /10%10 ) )/10%10))/10%10))/10%10!=  (i/(t/100000) )%10  )
		continue;
		
		
		t=zhishu(i);/*??????*/
		if(t==1&&k==0)
		
		{
			printf("%d",i);
			k++;a=1;
		}
		else if(t==1&&k>0)
		
		printf(",%d",i);


	}
	if(a==0)printf("no");
	return 0;

}
int zhishu(int n)
{
	int t,i,k=0;
	t=sqrt(n)+1;
	for(i=2;i<t;i++)
		if(n%i==0)k++;
		if(k>0)return 0;
		else return 1;

}
main()
{
	int m,n,a[100000]={0},b[1000],i,j,d,k;
	scanf("%d%d",&n,&m);
	for(i=2;i<m-1;i++)
	{
		if(i>=n)
		{if(a[i]==-1) continue;}
		for(j=i+2;j<=m;j++)
			if(j%i==0)
				a[j-n]=-1;
	}
	j=0; 
	for(i=n;i<=m;i++)
	 {
		 if(a[i-n]==-1) continue;
		 if(i%10==0) continue;
		 k=i;
		 d=0;
		 while(k!=0)
		 {
			 d=d*10+k%10;
			 k=k/10;
            
		 }
		 if(d==i)
		 {b[j]=i;j++;}
	}
if(j==0) printf("no");	
else for(i=0;i<j;i++)
	{
		printf("%d",b[i]);
		if(i!=j-1)
			printf(",");
	}
}
int main(int argc, char* argv[])
{
	int m,n,i,j,k,hws=0;
	scanf("%d %d",&m,&n);
	int s=n-m+1;
	int *a;
	a = (int *)malloc(sizeof(int)*s);
	int *reversed_number;
	reversed_number = (int *)malloc(sizeof(int)*s);
	int *remainder;
	remainder = (int *)malloc(sizeof(int)*s);
	int *b;
	b = (int *)malloc(sizeof(int)*s);
	for(k=0;k<s;k++){
		a[k]=0;
		reversed_number[k]=0;
		remainder[k]=0;
		b[k]=k+m;
	}
	for(i=m;i<=n;i++){
		for(j=2;j<i;j++){
			if(b[i-m]%j==0)
				a[i-m]++;
		}
	}
	for(i=m;i<=n;i++){
		if(a[i-m]==0){
			while(b[i-m]!=0){
				remainder[i-m]=b[i-m]%10;
				reversed_number[i-m]*=10;
				reversed_number[i-m]+=remainder[i-m];
				b[i-m]=b[i-m]/10;
			}
		}
		if(reversed_number[i-m]==i)
			hws++;
	}
    if(hws==0)
		printf("no");
	int c=0;
	if(hws!=0){
		for(i=m;i<=n;i++){
			if(reversed_number[i-m]==i&&i!=1&&i!=2){
				c=i;
				printf("%d",i);
				break;
			}
		}
	}
	if(hws!=0){
		for(j=c+1;j<=n;j++){
			if(reversed_number[j-m]==j&&j!=1&&j!=2)
				printf(",%d",j);
		}
	}
	return 0;
}
int hui(int n)
{
	int i=0,N=n;
	for(;n!=0;)
	{
		i=i*10+n%10;
		n=n/10;
	}

if(N==i)return 1;
	else return 0;
}
int su(int n)
{
	if(n==1) return 0;
	else if(n==2) return 1;
	else if(n%2==0) return 0;
	else 
	{
		int i,flag=1;
		for(i=3;i<n;i++)
			if(n%i==0) {flag=0;break;}
		if(flag==1) return 1;
		if(flag==0) return 0;
	}
}

void main()
{
	int min,max,i,k[1000]={0},j=0;
	scanf("%d %d",&min,&max);
	for(i=min;i<=max;i++)
		if(hui(i)==1&&su(i)==1) {k[j]=i;j++;}
		if(j!=0){
	for(i=0;i<j-1;i++)
	{
        printf("%d,",k[i]);
	}
	printf("%d\n",k[j-1]);}
		else printf("no\n");
}
int tran(long x)
   {
   long t=0,y=x;
   while(y>0)
   {
      t=10*t+y%10;
      y/=10;
      tran(y);
   }
   if (x==t)
     return(1);
   }
void main()
{
	int tran(long x);
	long m,n,i,j,s,t;
	scanf("%d%d",&m,&n);
	t=0;
	for (i=m;i<=n;i++)
	{
		s=0;
		for (j=2;j<i;j++)
		{
			if (i%j==0)
				s++;
		}
		if ((s==0)&&(tran(i)==1))
		{
			if (t>=1)
				printf(",");
			printf("%ld",i);
			t++;
		}
	}
	if (t==0)
		printf("no\n");
}
void main()
{
	int sushu(int);
	int huiwen(int);
	int i,m,n,s=0;
	int a[50]={0};
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(sushu(i)&&huiwen(i))
		{
		a[s]=i;
		s=s+1;
		}
	}
	if(s==0)
		printf("no");
	else
	{
		for(i=0;i<s-1;i++)
			printf("%d,",a[i]);
		printf("%d",a[s-1]);
	}
}

int sushu(int m)
{
	int i,k;
	k=sqrt(m);
	for (i=2;i<=k;i++)
	{
		if(m%i==0)
			break;
			
	}
	if(i>k)
		return(1);
	else
		return(0);
}
int huiwen(int m)
{
	int i,n,f,v=0;
	n=m;
	for(i=0;n!=0;i++)
	{
		f=n%10;
		v=v*10+f;
		n=n/10;
	}
	if(v==m)
		return(1);
	else
		return(0);
}
int h(int n)
{
	int s=0,k,y=n;
	while(y>0)
	{
		k=y%10;
		s=10*s+k;
		y=y/10;
	}
	if(s==n)
		return(1);
	else
		return(0);
}
int s(int n)
{
	if(n==1)
		return(0);
	else
	{
		int i,j;
		j=n/2;
		for(i=2;i<=j;i++)
		{
		if(n%i==0)break;
		else
			j=n/i;
		}
		if(i>j)
			return(1);
		else
			return(0);
	}
}
void main()
{
	int m,n,i,k=0;
	scanf("%d%d",&m,&n);
	for(i=m;i<=n&&k<1;i++)
	{
		if(h(i)&&s(i))
		{
			printf("%d",i);
			k=k+1;
		}
	}
	if(k==0)
		printf("no");
	else
	{
		int j;
		for(j=i;j<=n;j++)
		{
			if(h(j)&&s(j))
				printf(",%d",j);
		}
	}
}
int main()
{
    int m,n,i,l=0,c;
    int a[1000];
    scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++)
    {
                     int j,t,f=1,s,b;
                     b=i;
                     char e[40];
                     for(j=0;b!=0;j++)
                     {
                                      e[j]=b%10;
                                      b=b/10;
                     }
                     e[j]='\0';
                     for(t=0;t<j;t++)
                     {
                                     if(e[t]!=e[j-t-1])
                                     {
                                                       f=0;
                                                       break;
                                     }
                     }
                     if(f==1)
                     {
                             s=1;
                             int q;
                             for(q=2;q<i;q++)
                             {
                                             if(i%q==0)
                                             {
                                                       s=0;
                                                       break;
                                             }
                             }
                             if(s==1)
                             {
                                     a[l]=i;
                                     l++;
                             }
                     }
    }
    if(l==0)
    printf("no\n");
    else{
    for(c=0;c<l-1;c++)
    {
                      printf("%d,",a[c]);
    }
    printf("%d\n",a[l-1]);}
    getchar();
    getchar();
}
main()
{
	int m,n;
	int b[10000];
	scanf("%d %d",&m,&n);
	int i,j,count=0;
	for(i=m;i<=n;i++){
		for(j=2;j<i;j+=1){
			if(i%j==0)
				break;
				
			else if(j==i-1){
				b[count]=i;
				count++;
				
			}
		}
	}
	
	int end,t,num=0,c[5000];
	
	
	for(i=0;i<count;i++){
		t=b[i];
		j=0;
		end=0;
		while(t!=0){
			j=t%10;
			end=end*10+j;
			t=t/10;
		}
		if(end==b[i]){
			c[num]=b[i];
			num++;
		}
	}
	if(num==0)
		printf("no");
	else{
		for(i=0;i<num-1;i++)
			printf("%d,",c[i]);
		printf("%d",c[num-1]);
	}
	return 0;
}
void main()
{
	int s[1000];
	int m,n,i,j,t,a,b,c,k,h=0;
	scanf("%d%d",&m,&n);
	a=m;
	for(i=0;i<=(n-m);i++,a++)
	{
		t=sqrt(a);k=1;b=0;
		for(j=2;j<=t;j++)
			if(a%j==0)
			{
				k=0;break;
			}
			if(k==1)
			{
				for(c=a;c>=1;c=c/10)
					b=b*10+c%10;
				if(a==b)
				{
					s[h]=a;
					h++;
				}
			}
	}
	if(h==0)
		printf("no");
	else
		for(i=0;i<h;i++)
		{
			printf("%d",s[i]);
			if(i<h-1)
				printf(",");
		}
}
int main()
{
	int m,n,k,p,q,r,s,t,h,i,j;
	scanf("%d%d",&m,&n);
	h=0;
	for(s=m;s<=n;s++)
	{
		p=0;
		q=s;
		while(q!=0)
		{
			p=p*10+q%10;
			q=q/10;
		}
		if(p!=s) 
		{t=0;continue;}
		else t=1;
		for(j=2;j<s;j++)
		{
			if(s%j==0)
			{
				r=0; break;
			}
			r=1;
		}
		if(r==0) continue;
		if(r==1&&t==1) h=1+h;
		else h=h;
		printf("%d",s); break;
	}
	for(k=s+1;k<=n;k++)
	{
		p=0;
		q=k;
		while(q!=0)
		{
			p=p*10+q%10;
			q=q/10;
		}
		if(p!=k) {
			t=0;continue;
		}
		else t=1;
		for(j=2;j<k;j++)
		{
			if(k%j==0)
			{
				r=0; break;
			}
			r=1;
		}
		if(r==0) continue;
		if(r==1&&t==1) h=1+h;
		printf(",%d",k);
	}
	if(h==0)
		printf("no");
	
}
int sushu(int x)
{
     int i;
	 for(i=2;i<=sqrt(x);i++)
		 if(x%i==0)break;
	 if(i>sqrt(x))
		 return(1);
	 else
		 return(0);
}

int huiwen(int x)
{
	int n,i;
	if(x<10)return(1);
	else
		if(x<100&&(x%10)==(x/10))return(1);
		else
			if(x<1000&&(x%10)==(x/100))return(1);
			else
				if(x<10000&&(x%10)==(x/1000)&&(x%100/10)==(x/100%10))return(1);
				else
					if(x<100000&&(x%10)==(x/10000)&&(x%100/10)==(x/1000%10))return(1);
        else return(0);
}

	
void main()
{
	int m,n,i,k=0,o;
    scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
		if(huiwen(i)&&sushu(i))
		{	printf("%d",i);o=i;k++;break;
		}
    for(i=o+1;i<=n;i++)
		if(huiwen(i)&&sushu(i))
		{	printf(",%d",i);
		      k++;
		}
	if(k==0)
		printf("no");
}
int fy(int x)
{
    int z=1,i,t,m=0;
     t=x;
    while(t>0)
       {m=m*10+t%10;
       t=t/10;
        }
    if(m!=x)z=0;
   else {for(i=2;i<=sqrt(x);i++)
       {if(x%i==0)
         {z=0;
          break;}
       }
       }
    return z;
}   
int main(int argc, char *argv[])
{
  int k,j,l;
  scanf("%d%d",&k,&j);
  for(l=k;l<=j;l++)
    {
         if(fy(l)==1)
             {printf("%d",l);
               break;}
    }
    if(l>j) printf("no");
    else { 
              for(l=l+1;l<=j;l++)
                {
                  if(fy(l)==1)
                  printf(",%d",l);       
                }
          } 
  return 0;
}
int su(int n)
{
    int i;
    for(i=2;i<n;i++)
    if(n%i==0)
    break;
    if(i==n)
    return 1;
    else
    return 0;
}
int hui(int n,int k,int m)
{
    if(k==0)
    if(m==n)
    return 1;
    else
    return 0;
    else
    return hui(n,k/10,m*10+k%10);
}
int main()
{
    int i,m,n;
    scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++)
    if(su(i)&&hui(i,i,0))
    {
        printf("%d",i);
        break;
    }
    if(i>n)
    printf("no");
    else
    for(i=i+1;i<=n;i++)
    if(su(i)&&hui(i,i,0))
    printf(",%d",i);
}
int main()
{
	int m,n,i,j,k=0,t=0,p=0,q,a,b,c=0,d=0;
	int x[100];
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{for(j=1;j<=i;j++) {if(i%j==0) t++;}
    if(t==2) 
	{b=i;
	for(a=log10(b);a>=0;a--) {x[k]=b/(pow(10,a));b=b-x[k]*pow(10,a);k++;}
	q=log10(i);
	for(j=0;j<=q;j++)
	{if(x[j]!=x[q-j]) {p=1;}}
    if(p==0&&d==1){printf(",%d",i);}
	if(p==0&&d==0){printf("%d",i);c=1;d=1;}
	}
	t=0;p=0;k=0;}
	if(c==0) {printf("no");}
}
int main()
{int a,b,i,j,c,d,e,k,s=0;
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++){
	k=0;
	for(j=2;j<=sqrt(i);j++){
		if(i%j==0){
			k=1;
	break;
		}
	}
	c=i;
	e=0;
	while(c>0)
	{d=c%10;
	e=e*10+d;
	c=c/10;
	}
//	printf("%d %d %d\n",i,e,k);
	if(k==0&&i==e){
		s++;
		if(s==1)
			printf("%d",i);
		else
		printf(",%d",i);
	}
}
if(s==0)
printf("no");
return 0;
}
void main()
{
	int sushu(int s);
	int huiwen(int s);
	int m,n,i,t;
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		t=i;
		if(sushu(i)>0&&huiwen(i)>0)
		{printf("%d",i);break;}
		
	}
	if(t==n&&huiwen(t)==0)
		printf("no");
	
	if(t<n)
	{
		for(i=t+1;i<=n;i++)
		{
			if((sushu(i)>0)&&(huiwen(i)>0))
				printf(",%d",i);
		}
	}



}
int sushu(int s)
{
	int j;
	double k;
	k=sqrt(s);
	for(j=2;j<=k;j++)
	{
		if(s%j==0)
		{
			return(0);break;
		}
	}
	if(j>k)
	return(1);
}
int huiwen(int s)
{
	int a[10],z=0,i;
	while(s/10>0)
	{
		a[z]=s%10;
		s=s/10;
		z++;
	}
	a[z]=s;
	for(i=0;i<=z/2;i++)
	{
		if(a[i]!=a[z-i])
		{return(0);break;}
	}
	if(i>z/2)
	return(1);
}
void main()
{int m,n,i,j,k,p,sum=0;
int a[100],b[100];
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
	for(j=2;j<=i/2+1;j++)
		if(i%j==0)
			break;
		if(j>i/2)
		{for(j=1;j<100;j++)
		if(i/(pow(10,j))<1)
			break;
		p=i;
         for(k=j-1;k>=0;k--)
		 {a[k]=(p/pow(10,k));

		 p=(p-a[k]*pow(10,k));
		 
		 b[j-k-1]=a[k];}
for(k=0;k<j;k++)
if(b[k]!=a[k])
break;

if(k==j)
{if(sum!=0)
printf(",");
	printf("%d",i);
sum++;}
		}

}
if(sum==0)
printf("no");

}
int main()
{
	int m,n,i=0,j=0,r=0,k=0,b,e;
	int a[10000];
	int d[10000]={0};
	int f[10000]={0};
	scanf("%d%d",&m,&n);
	for (i=m,k=0;i<=n;i++)
	{
		e=i;
		for (j=0;e!=0;j++)
		{
			b=e/10;
			a[j]=e-10*b;
			e=b;
		}
		j=j-1;
		for (r=0;r<=j;r++)
		{
			if (a[r]!=a[j-r]) break;
		}
		if (r>=j+1) 
		{
			d[k]=i;
			k=k+1;
		}
	}
	k=k-1;
	for (i=0,r=0;i<=k;i++)
	{
		for (j=2;j<d[i];j++)
		{
			if (d[i]%j==0) break;
		}
		if (j>=d[i])
		{
			f[r]=d[i];
			r=r+1;
		}
	}
	r=r-1;
	for(i=0;i<=r;i++)
	{
		if (f[i+1]!=0) printf("%d,",f[i]);
		if (f[i+1]==0&&f[i]!=0) printf("%d\n",f[i]);
	}
	if (f[0]==0) printf("no\n");
	return 0;
}
int sushu(int t)
{
	int r,i;
	for(i=2;i<t;i++)
	{
		r=t%i;
		if(r==0)
			return 0;
	}
	return 1;
}
int huiwen(int t)
{
	char s[100]={0};
	int i,j,k;
	for(i=1;;i++)
	{
		j=t/(pow(10,i));
		if(j==0)
			break;
	}
	k=i;
	for(i=0;i<k;i++)
	{
		s[i]=t%10;
		t=t/10;
	}
	j=k-1;
	for(i=0;;)
	{
		if(i>j)
			return 1;
		if(s[i++]!=s[j--])
			return 0;
	}
}
int main()
{
	int m,n,i,j=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		
		if(huiwen(i) && sushu(i) && j==0)
		{
			printf("%d",i);
			j++;
		}
		else if(huiwen(i) && sushu(i))
			printf(",%d",i);
	}
	if(j==0)
		printf("no");
	return 0;
}
void main()
{
	int F(int x);
	int G(int x);
	int m,n,i;
	scanf("%d%d",&m,&n);
    for(i=m;i<=n;i++)
	{
		if(F(i)&&G(i)) {printf("%d",i);break;}
	}
   if(i==n+1) printf("no");
for(i=i+1;i<=n;i++)
	{
		if(F(i)&&G(i)) printf(",%d",i);
	}
}


 int F(int x)
 {
 int z,t=0;
 z=x;
 do
 {     
	 t=t*10+z%10;
	 z=z/10;
 }
 while(z!=0);
 if(t==x)return(1);
 else return(0);
 }

 int G(int x)
 {
	 int i,b=1;
	 if(x==10201) return(0);
	 else
	 {
 for(i=2;i<sqrt(x);i++)
 {
 if(x%i==0) {b=0;break;}
 }
return(b);
 }
 }
void main()
{
	int m,n,i,j,k,l=0,p,temp1=0,temp2=0;
	int result[9999];
	char a[100];
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(i!=2)
		for(j=2;j<i;j++)
		{
			if(i%j==0)
			{
				temp1=1;
				break;
			}
		}
		if(temp1==0)
		{
			p=i;
			for(j=0;p>=10;j++)
			{
				a[j]=p%10;
				p=p/10;
			}
			a[j]=p;
			for(k=0;k<=j;k++)
			{
				if(a[k]!=a[j-k])
				{
					temp2=1;
					break;
				}
			}
			if(temp2==0)
			{
				result[l]=i;
				l++;
			}
		}
		temp1=0;
		temp2=0;
	}
	if(l==0)
		printf("no");
	else
	{
	for(i=0;i<l-1;i++)
	{
		printf("%d,",result[i]);
	}
	printf("%d",result[l-1]);
	}
}
int hw(int i)
{int w[20]={0};
 int n=1,m,j,flag=7;
 while (i>0)
 {w[n]=fmod(i,10);
  i=i/10;
  n++;
 }
 for (i=1;i<=n;i++)
	 if (w[i]!=w[n-i]) flag=0;
 return flag;
}
int main()
{int i,j,k,l,n,m,a[170657]={0},count=0;
 scanf("%d %d",&m,&n);
 a[1]=100;
 for (i=2;i<n;i++)
	 if (a[i]==0) 
		 for (j=i+i;j<=n;j=j+i) 
			 a[j]++;
 for (i=m;i<=n;i++)
	 if ((a[i]==0)&&(hw(i)==7)) {if (count==0) {;count++;printf("%d",i);}
									else {printf(",%d",i);}}
 if (count==0) printf("no");
 return 7;
}
int ok(int a)
{
    int i;
    for(i=2;i*i<=a;i++)
    if(a%i==0)return 0;
    return 1;
}
int num(int nu)
{
    int i,j;
    if(!ok(nu))return 0;
    for(i=nu,j=0;i>0;i/=10)
    {
                            j=j*10+i%10;
    }if(!ok(j))return 0;
    else if(j!=nu)return 0;
    else if(j==nu&&ok(j))return 1;
}
main()
{
     int m,n,i,count=0,a[1000];
     scanf("%d%d",&m,&n);
     for(i=m;i<=n;i++)
     {
             if(ok(i))
             {
                      if(num(i))
                      {
                                a[count]=i;
                                count++;
                      }
             }         
     }  
     if(count==0)printf("no");
     else {for(i=0;i<count-1;i++)
     printf("%d,",a[i]);
     printf("%d",a[count-1]);}
     getchar();
     getchar();
     getchar();   
}
void main()
{
	int m,n,i,j,k=0,h,f=0,a[100],b[7];
    scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{ 
        for(j=2;j<=sqrt(i)&&i%j!=0;j++){}
		if(j>sqrt(i))
		{
            b[0]=i/1000000;
			b[1]=i/100000-10*b[0];
			b[2]=i/10000-100*b[0]-10*b[1];
			b[3]=i/1000-1000*b[0]-100*b[1]-10*b[2];
			b[6]=i%10;
			b[5]=(i%100-b[6])/10;
			b[4]=i/100-10000*b[0]-1000*b[1]-100*b[2]-10*b[3];
			for(j=0;j<7&&b[j]==0;j++){}
            for(h=0;j<7&&b[6-h]==b[j];h++,j++){}
			if(j==7)
			{
               a[f]=i;f++; 
			}
		
		}
	}
	if(f>0)
	{
		for(i=0;i<f-1;i++)
		{
			printf("%d,",a[i]);
		}
	    printf("%d",a[f-1]);
    }
	else
		printf("no");
}
int su(int n){
	int i;
	int t=0;
	for(i=2;i<n;i++){
		if(n%i==0){
			t++;
		}
	}
	if(t==0)
		return 1;
	else
		return 0;
}
int hui(int n){
	int o=0;
	int q=0;
	q=n;
	while(1){
		o=10*o+q%10;
		q=q/10;
		if(q==0){
			break;
		}
	}
		if(n==o)
		    return 1;
		else
			return 0;
	
}
int main()
{
	int m,n,i,a[10000],k=0;
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++){
		if(su(i)==1&&hui(i)==1){
			a[k]=i;
			k++;
		}
	}
	if(k==0){
		printf("no");
	}
	else{
		for(i=0;i<k-1;i++){
			printf("%d,",a[i]);
		}
		printf("%d",a[k-1]);
	}
	printf("\n");
	return 0;
}
int main ()
{    int p(int i);
     int q(int i);
    int m,n,i,t,s;
    t=0;
    scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++)
    {  if(p(i)==0 && q(i)==0) t++;
     }
     s=0;
     for(i=m;i<=n;i++)
    {  if(p(i)==0 && q(i)==0) {
           printf("%d",i);
            s++;
         if(s!=t) printf(","); 
             }
     }
    if(t==0) printf("no");

   return 0;
}

int p(int i)
{   int j;
    for(j=2;j<i;j++)
      {  if(i%j==0) return 1;
       }
    if (j==i) return 0;
}


int q(int i)
{  int j,t,n,s;
   s=i;
   n=i%10;
   t=10;
    while (0==0)   
   {  if(i/t==0) break;
      s=s/10;
      n=n*10+s%10;
      t=t*10;
    }
   if (n==i) return 0;
   else return 1;
}