semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int pan(int n)
{
    int i;
    for(i=2;i<n;i++)
    {
                    if(n%i==0)
                    break;
    }
    if(i==n)
    return 1;
    else
    return 0;
}

int scan(int n)
{
    int a,b,i,j,k,r,s=1,t=1,z=0;
    for(i=0;;i++)
    {
                 t=10*t;
                 if(n/t==0)
                 break;
    }
    for(j=0;j<=i/2;j++)
    {
                       t=t/10;s=s*10;r=s/10;
                       a=(n/t)%10;
                       b=(n%s)/r;
                       if(a==b)
                       z++;
    }
    if(z==i/2+1)
    return 1;
    else
    return 0;
}   

main()
{
      int a,b,i,p=0,q=0,z=0;
      scanf("%d %d",&a,&b);
      for(i=a;i<=b;i++)
      {
                  p=pan(i);
                  q=scan(i);
                  if(p==1 && q==1 && z!=0)
                  {
                                          z++;
                                          printf(",%d",i);
                  }
                  if(p==1 && q==1 && z==0)
                  {
                                          printf("%d",i);
                                          z++;
                  }
      }
      if(z!=0)
      printf("\n");
      else 
      printf("no\n");
      getchar();
      getchar();
      return 0;
}
void main()
{unsigned int f(unsigned int x);
unsigned int a,m,n,i,j,k=0,l,r,s,t,g=0;unsigned int b[10000],c[10000],e[10000],d[10000];
scanf("%d %d",&m,&n);
for(i=m;i<n+1;i++)
{for(j=2;j<i;j++)
	 if(i%j==0) break;
 if(j==i) {b[k]=i;k++;}
}
l=k;
for(i=0;i<l;i++)
{
 a=log10(b[i]);
 c[i]=b[i];
 d[0]=b[i]/f(a);
 for(j=1;j<=a;)
  {b[i]=b[i]-d[j-1]*f(a-j+1);
  d[j]=b[i]/f(a-j);
  j++;}
 for(r=0,s=a;r<=a;r++,s--)
	 if(d[r]!=d[s]) break;
 if(r>a) {e[0]=c[i];t=i;g=1;break;}
}
if(g==0) printf("no");
else if(g==1)
{printf("%d",e[0]);
for(i=t+1;i<l;i++)
{
 a=log10(b[i]);
 e[i]=b[i];
 d[0]=b[i]/f(a);
 for(j=1;j<=a;)
  {b[i]=b[i]-d[j-1]*f(a-j+1);
  d[j]=b[i]/f(a-j);
  j++;}
 for(r=0,s=a;r<=a;r++,s--)
	 if(d[r]!=d[s]) break;
 if(r>a) printf(",%d",e[i]);
}
}
}

unsigned int f(unsigned int x)
{unsigned int y=1,i;
for(i=0;i<x;i++)
y=y*10;
return(y);}
int main()
{
	int m,n,i,k,j=0,t=0,flag,r,b,c[10000]={0},d[10000]={0},s=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		flag=0;
		k=2;
		while(k<sqrt(n))
		{
			r=i%k;
			if(r==0)
			{
				flag=1;
				break;
			}
			else k++;
		}
		if(flag==0)
		{
			
			b=i;
			j=0;
			flag=0;
			while(b>0)
			{  
				c[j]=b%10;
				b=(b-c[j])/10;
				j++;
			}
			k=j;
			for(j=0;j<k/2;j++)
				if(c[j]!=c[k-j-1])
				{
					flag=1;
					break;
				}
				if(flag==0)
				{    
					d[s]=i;
					s++;
					t++;
				}
		}
	}	
	if(t>0)
	{
		for(i=0;i<s-1;i++)
			printf("%d,",d[i] );
		printf("%d",d[s-1]);
	}
	if(t==0)printf("no");
	return 0;
}
void main()
{
	int m,n,i,k,x,a[5],p,num,b[100],c=1,d=1;

	scanf("%d" "%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		k=sqrt(i);
		for(x=2;x<=k;x++)
		{if(i%x==0) break;}
		if(x>=k+1)
		{
		a[4]= i/10000;
		a[3]=(i-a[4]*10000)/1000;
		a[2]=(i-a[4]*10000-a[3]*1000)/100;
		a[1]=(i-a[4]*10000-a[3]*1000-a[2]*100)/10;
		a[0]=i-a[4]*10000-a[3]*1000-a[2]*100-a[1]*10;
		
		if(a[4]>0)
			num=a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4];
		else if(a[3]>0)
			num=a[0]*1000+a[1]*100+a[2]*10+a[3];
		else if(a[2]>0)
			num=a[0]*100+a[1]*10+a[2];
		else if(a[1]>0)
			num=a[0]*10+a[1];
		else num=a[0];
		
		
		if(num==i)
		{
			b[c]=i;
		    c=c+1;
		}
		}
	}
	if(c>1)
	{
		for(d=1;d<=c-2;d++)
	{
		printf("%d,",b[d]);
	}
	printf("%d\n",b[d]);
	}
	if(c==1)
		printf("no\n");
}
/* Note:Your choice is C IDE */
int huiwen(int);
int sushu(int);
void main()
{
	int m,n,i,sign=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(huiwen(i)&&sushu(i))
		{
			if(sign==0)
			{
				sign=1;printf("%d",i);
			}
			else printf(",%d",i);
		}
	}
	if(!sign) printf("no");
}

int huiwen(int a)
{
	int i,lb;
	char b[100]={'\0'};
	char c[100]={'\0'};
	for(i=0;;i++)
	{
		if(a==0) break;
		b[i]=a%10+'0';
		a=a/10;
	}
	lb=strlen(b);
	for(i=0;i<=lb-1;i++)
	  c[i]=b[lb-1-i];
	if(strcmp(c,b)==0) return 1;
	else return 0;
}

int sushu(int a)
{
	int i;
	for(i=2;i<a;i++)
	  if(a%i==0) break;
	if(i==a) return 1;
	else return 0;
}
int prime(int n)
{
	int p, i;
	p=1;
	for(i=2;i<=sqrt(n);i++)
		if(n%i==0)
		{
			p=0;
			break;
		}
	return(p);
}
int back(int n)
{
	int q, i, len, l, s, t;
	q=1;
	len=log10(n)+1;
	l=len;
	for(i=1;i<=l/2;i++)
	{
		s=n/pow(10,len-1);
		t=n%10;
		if(s!=t)
		{
			q=0;
			break;
		}
		n=(n-(s)*pow(10,len-1))/10;
		len-=2;
	}
	return (q);
}
void main()
{
	int n, m, i;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
		if(prime(i)*back(i)==1)
		{
			printf("%d",i);
			break;
		}
	if(i==n+1)
		goto end;
	for(i=i+1;i<=n;i++)
		if(prime(i)*back(i)==1)
			printf(",%d",i);
	printf("\n");
	goto ed;
end:printf("no\n");
ed:n=n;
}
int p1(int n)
{
  int i;
  for(i=2;i<n/2;i++)
   if(n%i==0) return 0;
  return 1;
}
int p2(int n)
{
  int a[10],m=-1;
  while(n>0)
   {
     a[++m]=n %10;
     n=n/10;
   }
  int i=0,j=m;
  while(i<=j)
   {
     if(a[i]!=a[j]) return 0;
     i++; j--;
   }
  return 1;
}
int main()
{ 
  int m,n;
  int i,f=0;
  scanf("%d%d",&m,&n);
  for(i=m;i<=n;i++)
     if( p1(i) && p2(i))
       {
         if(f==0) {printf("%d",i);f=1;}
         else printf(",%d",i); 
       }
  if(f==0) printf("no");
}
int main()
{
	int rev(int x);
	int prime(int y);
	int m,n,i,j=0,k,a[100];
	scanf("%d %d",&m,&n);
	i=m;
	while(i<=n)
	{
		if(rev(i)==1&&prime(i)==1) 
		{
			a[j]=i;
			j++;
		}
		i++;
	}
	if(j==0) printf("no");
	else
	{
	    printf("%d",a[0]);
	    for(k=1;k<j;k++) printf(",%d",a[k]);
	}
	return 0;
}

int rev(int x)
{
	int a=0,b,temp;
	temp=x;
	while(x>0)
	{
		b=x%10;
		a=a*10+b;
		x=x/10;
	}
	if(temp==a) return 1;
	else return 0;
}

int prime(int y)
{
	int c;
	for(c=2;c<=y/2;c++)
	{
		if(y%c==0) break;
	}
	if(c<=y/2) return 0;
	else return 1;
}
void main()
{
	int m,n,t,s,p,q,i,j,k=0,r,a[100];
	scanf("%d %d",&m,&n);
	for(i=(m%2==0?m+1:m);i<=n;i+=2)
	{
		t=i;
		s=0;
		for(j=0;t!=0;j++)
		{
			p=t%10;
			t=t/10;
			s=s*10+p;
		}
		if(s==i) 
		{
			r=1;
			q=sqrt(i);
			for(j=2;j<=q;j++) if(i%j==0) {r=0;break;}
			if(r==1) {a[k]=i;k++;}
		}
	}
	if(k!=0)
	{
		for(i=0;i<k-1;i++) printf("%d,",a[i]);
		printf("%d\n",a[k-1]);
	}
	if(k==0) printf("no\n");

}
int f(int i)
{
	int c,k;
	if(i==2) c=1;
	else if(i%2==0) c=0;
	else if(i==3) c=1;
	else
	{
		k=3;
		while(k<=i-2&&i%k!=0)
			k=k+2;
		if(k==i) c=1;
		else c=0;
	}
	return c;
}
int g(int i)
{
	int num=0,c,t;
	t=i;
	while(i!=0)
	{
		num=num*10+i%10;
		i=(i-i%10)/10;
	}
	if(t==num)
		c=1;
	else c=0;
	return c;
}
void main()
{
	int m,n,num=0,i,l=0,b[300];
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(f(i)*g(i)!=1)
		num++;
	   if(f(i)*g(i)==1) 
	   {  l++;
		   b[l]=i;
	   }
	 }
     if(num==n-m+1)
		printf("no");
	 else
	 {
		 for(i=1;i<=l-1;i++)
			 printf("%d,",b[i]);
		 printf("%d",b[l]);
	 }
	

	   
	
}
int main(void)
{
    int rev(int a);
    int p(int a);
    int m, n, i, ok=1;
    scanf("%d %d", &m, &n);
    for (i=m;i<=n;i++)
    {
        if (rev(i)&&p(i))
        {
            if (ok)
            {
                ok =0;
                printf("%d", i);
            }
            else
                printf(",%d", i);
        }
    }
    
    if (ok)
        printf("no");
   
    return 0;

}

int rev(int a)
{
    int b=0, a1=a;
    while (a)
    {
        b*=10;
        b+=a%10;
        a/=10;
    }
    if (a1==b)
        return 1;
    else
        return 0;
}




int p(int a)
{
    int i;
    for (i=2;i*i<=a;i++)
        if (!(a%i))
            return 0;
    return 1;
}
void main()
{
	int m,n,i,j,p,sum=0,q=0;
	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)
		{
			sum=0;
			p=i;
			while(p>0)
			{
				sum=sum*10+p%10;
				p=p/10;
			}
			
			if(sum==i)
			{	q=q+1;
			  if(q==1)
				printf("%d",i);
			  if((q!=1)&&(q!=0))
				  printf(",%d",i);
				
			}
		}
	}

    if(q==0)
		printf("no");
}
int main()
{
 int m,n,i,sum,temp,k=0,h,t=0,pan=0;
 int a[MN]={0};
 int b[MN]={0};
    scanf("%d%d",&m,&n);
         for(i=m;i<=n;i++)
    {
       sum=0;
          temp=i;
       while(temp)
   {
       sum=sum*10+temp%10;
       temp/=10;
   }
   if(i==sum)
   {
    a[k]=i;
    k++;
    continue;
   }
   }
   for(k=0;k<MN;k++)
   {
    for(h=2;h<a[k];h++)
    {
       if((a[k]%h)==0)
        pan=1;
    }
    if(pan==0)
    {
      b[t]=a[k];
      t++;
      pan=0;
      continue;
    }
    else pan=0;
   }
   if(b[0]==0)
	   printf("no");
   else
   for(t=0;t<(MN-1);t++)
   {
             if(b[t+1]!=0)
    {
                 printf("%d",b[t]);
                 printf(",");
    }
             else if(b[t]!=0&&b[t+1]==0)
             printf("%d",b[t]);
   }
         printf("\n");
}
main()
{
     int m,n,i,t=0,de,p,res;
      int f(int x);
      scanf("%d %d",&m,&n);
      for(i=m;i<=n;i++)
      {
 
            res=0;
            p=i;
            while(p)
            {
                    de=p%10;
                    res=res*10+de;
                    p/=10;
            }
            if(res==i)
           if(f(i))     
           { if(t==0)
            {printf("%d",i);t++;}
            else
            {printf(",%d",i);t++;}}

            
      }
      if(t==0)printf("no\n");
      getchar();
      getchar();
}

int f(int x) 
{ 
int i; 
if (x == 1 || x == 2 || x == 3 || x == 5) 
return 1; 
else if (x % 2) 
{ 
for (i = 3; i <= x / 2 + 1; i += 2) 
{ 
if (x % i == 0) return 0; 
} 
return 1; 
} 
else 
{ 
return 0; 
} 
}
void main()
{
	int i,k,a,b,c=0,e=0,d,f=0,sum=0,j,rever;
	scanf("%d %d",&a,&b);	
	for(i=a;i<=b;i++)
	{
		sum=0;
		d=i;
		k=(int)sqrt(i);
		for(j=2;j<=k;j++)
		{
			if(i%j==0){c=0;break;}
			else c=1;
		}
		if(c==1)
		{
			do{
			sum=sum*10;
			rever=d%10;
			d=d/10;
			sum=sum+rever;
			}while(d!=0);
		}
		if(sum==i)
		{
			f++;
			e=1;
			if(f==1)
				printf("%d",i);
			else printf(",%d",i);}
	}if(e==0) printf("no");
}
int huiwen(int m)
{
	int n=0,s,a;
	a=m;
	for(;m>0;)
	{
		s=m%10;
		m=m/10;
		n=n*10+s;
	}
	if(n==a)
		return(1);
	else
		return(0);
}
int sushu(int m)
{
	int i;
	if(m%2==0)
		return(0);
	else
	{
		for(i=3;i<m/2&&m%i!=0;i=i+2);
        if(m%i!=0)
			return(1);
		else
			return(0);
	}
}

void main()
{
	int m,n,o=0;
	scanf("%d %d",&m,&n);
	for(;m<=n;m++)
        if(huiwen(m)&&sushu(m))
		{
			if(o!=0)
			{
			 printf(",");
		
			}
					o++;
		printf("%d",m);
		}
		if(o==0)
			printf("no");

}
int f(long n){
	int i;
	for(i=sqrt(n+.1);i>1;i--)
		if(n%i==0)return 0;
	return 1;
}
int g(long n){
	int a[10],i=0,j;
	while(n)
		a[i++]=n%10,n/=10;
	for(j=0,i--;j<i;j++,i--)
		if(a[j]!=a[i])return 0;
	return 1;
}
void main(){
	long m,n,i,t=0;
	scanf("%ld%ld",&m,&n);
	for(i=m;i<=n;i++)
		if(f(i)&&g(i)){
			if(t)printf(",");
			else t=1;
			printf("%ld",i);
		}
	if(!t)printf("no");
}
int isPrim(int n)
{
  int r = (int)sqrt(n);
  int i;

  for (i = 2; i <= r; ++i)
    if (n%i == 0)
      return 0;

  return 1;
}

int isHui(int n)
{
  int m = 0, nn = n;

  do {
    m = m*10 + n%10;
    n = n/10;
  } while (n);

  return m == nn;
}

int main()
{
  int m, n, p;
  
  scanf("%d %d", &m, &n);
  p = 0;

  for ( ; m <= n; ++m) {
    if (isPrim(m) && isHui(m)) {
      if (!p) p = 1;
      else printf(",");
      printf("%d", m);
    }
  }

  if (!p) printf("no");
}
void judge_huiwen(int n,int t[],int y,int x)
{
	if(n/10==0)
	{
		x=x*10+n;
		t[0]=x;
	}
	else
	{
		x=x*10+n%10;
		n=n/10;
		judge_huiwen(n,t,y,x);
	}
}

void judge_sushu(int n,int t[])
{
	int i;
	for(i=2;i<n;i++)
		if(n%i==0)
		{
			t[1]=1;
			break;
		}
}

void main()
{
	int m,n,i,t[2]={0},y,temp=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		y=i;
		judge_huiwen(i,t,y,0);
		judge_sushu(i,t);
		if(t[0]==i&&t[1]==0)
		{
			printf("%d",i);
			temp=1;
			break;
		}
		t[0]=0;
		t[1]=0;
	}
	for(i=i+1;i<=n;i++)
	{
		y=i;
		judge_huiwen(i,t,y,0);
		judge_sushu(i,t);
		if(t[0]==i&&t[1]==0)
			printf(",%d",i);
		t[0]=0;
		t[1]=0;
	}
	if(temp==0)
		printf("no");
	printf("\n");
}
char ishw(int m){
	int p=1,m0=m;
	while(m0>9){
		m0/=10;
		p*=10;
	}
	while(m>=1&&p>0){
		if((m%10)!=m/p) return 0;
		m=(m%p)/10;
		p/=100;
	}
	return 1;
}

char isprime(int m){
	int p,sm;
	if(!(m%2)||m==1) return 0;
	sm=sqrt(m);
	for(p=3;p<=sm;p+=2)
		if(!(m%p)) break;
	return (p>sm);
}


void main(){
	int m,n,c=0;
	scanf("%d%d",&m,&n);
	for(;m<=n;m++)
		if(isprime(m)&&ishw(m)){
			if(c) putchar(','); else c=1;
			printf("%d",m);
		}
	if(!c) puts("no");
}
void main()
{
	int m,n,i,j,t[10000]={0},k=0,l=1,u,v,h,b,c,d,e,a[10000]={0},x,q;
	scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++)
	{
		q=0;
		u=0;
		h=log10(i);
		for(j=h;j>=0;j--)
		{

		    b=pow(10,j+1);
            c=pow(10,j);
		    d=i%b-i%c;
			e=d/c;
			a[h-j]=e;
		}
		for(j=0;j<=h;j++)
		{
			if(a[j]==a[h-j])
              q++;
			else if(a[j]!=a[h-j])
			  break;
		}
        if(q==h+1)
			u=1;
		q=0;
		v=0;
		j=2;
        while(j<=sqrt(i))
			if(i%j==0)
			{	q=1;break;}
			else j++;
        if(i==1)
			q=1;
		if(q==0)
			v=1;
        if(u==1&&v==1)
		{
			t[k]=i;
			k++;
		}
	}
	if(k==0)
	    printf("no\n");
	else 
	{
		for(i=0;i<k-1;i++)
			printf("%d,",t[i]);
		printf("%d\n",t[k-1]);
	}
}
void main()
{
	int f(int p);
	int n,m,i,k,q,p,x=0,t=0;
	scanf("%d %d",&m,&n);
	i=m;
	while(i<=n)
	{
		p=i;
		t=0;
		while(p>=1)
		{
			k=p%10;
			p=p/10;
			t=t*10+k;
		}
		if(t!=i)i++;
		else
		{
			q=f(i);
	     	if(q)
			{
				printf("%d",i);
				x++;
			    break;
			}
			else i++;
		}
	}
	i++;
    while(i<=n)
	{
		p=i;
		t=0;
		while(p>=1)
		{
			k=p%10;
			p=p/10;
			t=t*10+k;
		}
		if(t==i) 
		{
			q=f(i);
		    if(q)
			{
				printf(",%d",i);
				x++;
			}
		}
		i++;
	}
	if(x==0)printf("no");
}

int f(int p)
{
	int j,k;
	if(p%2==0)k=0;
	else
	{
	   for(j=3;j<p;j++)
		if(p%j==0)break;
	   if(j>=p)k=1;
	   else k=0;
	}
	return(k);
}
int main()
{
	int m,n,i,j,k=1,a=0,number,reversed_number=0,remainder=0;
	int prime[10000]={0},reversed[10000]={0},result[10000];

	scanf("%d%d",&m,&n);

	for(i=m;i<=n;i++)
	{
		for(j=2;j<i;j++)
		{
			if(i%j==0) 
			{
				a=0;
				break;
			}
			else
			{
				a=1;
			}
		}
		if(a==1)
		{
			prime[k]=i;
			k++;
		}
	}

	for(i=1;i<=k;i++)
	{
		number=prime[i];
		reversed_number=0;
		remainder=0;

		while(number!=0)
		{
			remainder=number%10;
			reversed_number*=10;
			reversed_number+=remainder;
			number/=10;
		}

		reversed[i]=reversed_number;
		if(prime[i]==reversed[i])
		{
			result[i]=prime[i];
		}
		else
		{
			result[i]=0;
		}

	}

	a=0;
	for(i=1;i<=k;i++)
	{
		if(result[i]!=0)
		{
			printf("%d",result[i]);
			j=i;
            a=1;
			break;
		}
	}
    if(a==0)
	{
		printf("no");
	}
	else
	{
		for(i=j+1;i<=k;i++)
		{
			if(result[i]!=0)
			{
				printf(",%d",result[i]);
			}
		}
	}
    return 0;
}
int sushu(int n)
{
	int i,result=1;
	for(i=2;i<n;i++)
	{
		if(n%i==0)
		{
			result=0;
			break;
		}
	}
	return result;
}
int huiwen(int n)
{
	int bit,i,t=10,a[10];
	for(bit=1;;bit++)
	{
		if(n/t!=0)
		{
			t*=10;
		}
		else break;
	}
	t/=10;
	for(i=1;i<=bit;i++)
	{
		a[i]=n/t;
		n-=a[i]*t;
		t/=10;
	}
	int out=1;
	for(i=1;i<=bit/2;i++)
	{
		if(a[i]==a[bit-i+1])  continue;
		else
		{
			out=0;
			break;
		}
	}
	return out;
}

void main()
{
	int m,n,y=0,i,count;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(sushu(i)&&huiwen(i))
		{
			y=1;
			printf("%d",i);
			count=i;
			break;
		}
	}
	if(count!=n)
	{
		for(i=count+1;i<=n;i++)
		{
			if(sushu(i)&&huiwen(i))  printf(",%d",i);
		}
	}
	if(y==0)  printf("no");


}
int huiwen(int a)
{
    int k=0,t=a;
    while(t!=0)
    {
    k=k*10+t%10;
    t=t/10;
    }
    if (k==a) return 1;
    else return 0;
}
int su(int a)
{
    int i;
    for(i=2;i<=sqrt(a);i++)
    {
    if (a%i==0) break;
    }
    if(a==1||a==2) return 1;
    if (i<=sqrt(a)) return 0;
    else return 1;
}
int main()
{
    int m,n,i,j=0,num[100];
    scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++)
    {
        if (huiwen(i)==1&&su(i)==1)
        {
            num[j]=i;
            j++;
        }
    }
    if (j==0) printf("no");
    else 
    {
    	for(i=0;i<j-1;i++) printf("%d,",num[i]);
    	printf("%d",num[j-1]);
    }
    return 0;
}
int hw(int i)
{
        int j;
        int s=i;
    for(j=0;i;i=i/10)
	{
		j=j*10+i%10;
	}
    if(j==s)
		return 1;
	else 
		return 0;
}
void main()
{
	int m,n,x,j,b,c,a;
	b=0;
	a=0;
	c=0;
	scanf("%d %d",&m,&n);
	for(x=m;x<=n;x++)
	{
		for(j=2;j<x/2;j++) 
		{
          if(x%j==0)
		  {
		    a=0;
            break;
		  }
          else a=1;
		}
		if(a==1&&hw(x)==1)
		{
			b=b+1;
			if(b==1)
				printf("%d",x);
			else
				printf(",%d",x);
		}
		else
		{
			c=c+1;
			if(c==n-m+1)
				printf("no\n");
		}
	}
}
int FLAG=0,TAG=1;
void main()
{
	int m,n,i;
	void func(int num);
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
		func(i);
	if(FLAG==0) printf("no\n");
	
	
}


int back(int num)
{
	int result=0;
	while(num>0)
	{
		result=10*result+num%10;
		num=num/10;
	}
	return result;
}

void func(int num)
{
	int i,flag;
	for(i=2,flag=1;i<num;i++)
		if(num%i==0)
		flag=0;
		if(num!=back(num))
			flag=0;
		if(TAG&&flag) {printf("%d",num);FLAG=1;TAG=0;}
		else if(flag) {printf(",%d",num);FLAG=1;}
}
void main()
{
	int m,n,i,j,a[1000],b[1000],t,e,sum1=0,sum2=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		t=i;
		e=0;
        while(t!=0)
		{
			e=(e*10+t%10);
			t/=10;
		}
		if(e==i) 
		{
			a[sum1]=i;
			sum1++;
		}
	}
	for(i=0;i<sum1;i++)
	{
		for(j=2;j<=sqrt(a[i]);j++)
		{
			if(a[i]%j==0) break;
		}
		if(j>sqrt(a[i])) 
		{
			b[sum2]=a[i];
			sum2++;
		}
	}
	if(sum2==0) printf("no\n");
	else
	{
		printf("%d",b[0]);
		for(i=1;i<sum2;i++)
			printf(",%d",b[i]);
		printf("\n");
	}
}
int main()
{
	long m,n,i,a,b,k=0,dao,p,t,j,f;
	scanf("%ld%ld",&m,&n);
	for(i=m;i<=n;i++)
	{
		t=0;
		dao=0;
		p=i;
		j=p%10;
		while(j!=0||dao<i)
		{
			dao=10*dao+j;
			f=dao;
			p=p/10;
			j=p%10;
		}
		if(dao==i)
		{
			for(j=2;j<=i/2;j++)
			{
				if(i%j==0)
				{
					t=1;
				}
			}
			if(t==0)
			{
				if(k==0)
				{
					printf("%ld",i);
					k=1;
				}
				else
				{
					printf(",%ld",i);
				}
			}
		}
	}
	if(k==0)
	{
		printf("no");
	}
	return 0;
}
int nax(int x)
{int a,b,c,d,e,f;
 a=x/10000;
 b=(x-10000*a)/1000;
 c=(x-10000*a-1000*b)/100;
 d=(x-10000*a-1000*b-100*c)/10;
 e=x-10000*a-1000*b-100*c-10*d;
if(a!=0)f=10000*e+1000*d+100*c+10*b+a;
else if(b!=0)f=1000*e+100*d+10*c+b;
else if(c!=0)f=100*e+10*d+c;
else if(d!=0)f=10*e+d;
else f=e;
if(x==f)return(1);else return(0);}
int max(int x)
{int j,k;
k=x/2;for(j=2;j<=k;j++)if(x%j==0)break;
if(j>=k)return(1);else return(0);}
void main()
{
int m,n,i,k=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)if(max(i)==1&&nax(i)==1){printf("%d",i);k++;break;}
for(i=i+1;i<=n;i++)if(max(i)==1&&nax(i)==1){printf(",%d",i);k++;};if(k==0)printf("no");
}
void main()
{
	int n,m,i,t,j=0,k,o,r,b[30]={0};
	char pp[30]={"\0"};
    int f(int m);
   
    scanf("%d %d",&m,&n);
  	for(i=m;i<=n;i++)
  {
	  if(f(i)==1)

	 
	  {
		  strcpy(pp," ");
		// ltoa(i,pp,10);
		  o=0;r=i;
	     while(r!=0)
		 {
			 pp[o]=r%10+48;
			 r=r/10;o++;
		 }


		   t=0;
		   k=strlen(pp);
          while(t<=k)
	   {  
		   if(pp[t]==pp[k-1-t])
	          t++;
	      else
			  break;
	
		  }

		 if (t>=k) 
		 {b[j]=i;j++;}
	  } 
  }

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


	
	   
}
int f(int q)
{
	int flag=1,i;
	for(i=2;i<q;i++)
		if(q%i==0) {flag=0;break;}
		return flag;
}
int panduansushu(int x)
{
	int i,k=0;
	for(i=1;i<=x/2;i++)
		if(x%i==0 && i!=1)
			k=k+1;
	if(k==0)
	  return 0;
	else
		return 1;

}

int suanweishu(int x)
{
	int d=0;
	while(x!=0)
	{
			x=x/10;
			d=d+1;
	}
	return d;
}

int panduanfanwen(int x,int y)
{
	if(y==2 && x/10==x%10)
		return 0;
	else
	 if(y==3 && x%10==x/100)
	    return 0;
	else
	  if(y==4 && x%10==x/1000 && (x%100)/10==(x/100)%10)
	     return 0;
	else
	  if(y==5 && x%10==x/10000 && (x%100)/10==(x/1000)%10)
		 return 0;
	else
		return 1;
}



int main()
{
	int m,n,i,a,t,b[100]={0},z=0;
	int panduansushu(int x);
	int suanweishu(int x);
	int panduanfanwen(int x,int y);
	scanf("%d%d",&m,&n);
	for(i=0;m+i<=n;i++)
	{
		a=m+i;
		if(panduansushu(a)==0)
		{
			t=suanweishu(a);
			if(panduanfanwen(a,t)==0)
			{
			  b[z]=a;
			  z=z+1;
			  
			}
		}
	}
	if(b[0]!=0)
	{
	  for(i=0;i<z-1;i++)
		 printf("%d,",b[i]);
	 printf("%d",b[i]);
	}
	if(b[0]==0)
		printf("no");
	return 0;
}
void main()
{
	int m,n,i,p=0,pj=0;
	int reverse(int i,int j);
	int s(int i,int j);
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(i==reverse(i,0))
			if(s(i,2)==1)
			{
				pj=1;
				if(p==0)
				{
					printf("%d",i);
					p=1;
				}
				else printf(",%d",i);
			}
	}
         if(pj==0) printf("no");
}
int reverse(int i,int j)
{
	int a,k;
	if(i==0) a=j;
	else
	{
		k=i%10;
		a=reverse(i/10,j*10+k);
	}
	return(a);
}
int s(int i,int j)
{
	int a,k;
	k=sqrt(i);
	if(i==1) a=0;
	else if(i==j) a=1;
	else
	{
		if(i%j==0) a=0;
		else a=s(i,j+1);
	}
	return(a);
}
int f(int i);
int g(int i);
void main()
{
	int m,n,x,y,i,j;
	scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++)
	{
		x=f(i);
		y=g(i);
		if(x==1&&y==1)
			break;
	}
	j=i;
	if(j<=n)
	{
		printf("%d",j);
		for(i=j+1;i<=n;i++)
	    {
		    x=f(i);
		    y=g(i);
		    if(x==1&&y==1)
			    printf(",%d",i);
	    }
	    printf("\n");
	}
	else if(j>n)
	printf("no\n");
}
int f(int i)
{
	int x=1,j;
	for(j=2;j<=sqrt(i);j++)
	{
		if(i%j==0)
		{
			x=0;
			break;
		}
	}
	return(x);
}
int g(int i)
{
	int y,a;
	int c=0,d;
	d=i;
	while(d!=0)
	{
		a=d%10;
		c=(c+a)*10;
		d=d/10;
	}
	if(i==c/10)
		y=1;
	else
		y=0;
	return(y);
}
int ws(int x)
{	int i=1,c=1;
	for(i=1;;i*=10)
	{	c++;
		if((i<=x)&&(i*10>x)) break;
	}
	return(c-1);
}
int check1(int x)
{	int p=1,i;
	for(i=2;i<x;i++)
		if(x%i==0)
		{p=0;break;
		}
	return(p);
}
int reconstruct(int x)
{	int i=1,res=x%10;
	while(x!=0)
	{	x=x/10;
		res=res*10+x%10;
	}
	return(res/10);
}
int check2(int x)
{	int p=0;
	if(x==reconstruct(x)) p=1;
	return(p);
}
void main()
{	int m,n,i,j,flag=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
		if(check1(i)==1&&check2(i)==1)
		{printf("%d",i);
		flag=1;
		break;
		}
	for(j=i+1;j<=n;j++)
		if(check1(j)==1&&check2(j)==1)
		printf(",%d",j);
	if(flag==0)printf("no");
	printf("\n");
}
int sushu(int x)
{int i,j;
 j=0;
 for(i=2;i<x;i++)
     if(x%i==0)
          break;
 if(i==x) j=1;
 return(j);
}

int huiwenshu(int x)
{int i,j,k,p,t;
 k=0;
 p=0;
 for(i=1;x/i!=0;i=i*10)
continue;
 i=i/10;
 j=1;
 t=x;
 for(i=i;i>=1;i=i/10)
  {k=k+x/i*j;
   x=x-x/i*i;
   j=j*10;
   }
 if(t==k)
   p=1;
 return(p);
}
 
void main()
{int m,n,i,j;   
 scanf("%d%d",&m,&n);
 j=0;
 for(i=m;i<=n;i++)
  {if(sushu(i)==1&&huiwenshu(i)==1)
      {if(j==0)
       {printf("%d",i);
        j++;}
       else 
         printf(",%d",i);
        }
   }
  if(j==0)
   printf("no");
}
int su(int a)
{
      int i;
      for(i=2;i<=sqrt(a);i++)
 {
  if(a%i==0)
  {
  break;}
 }
 if(i>sqrt(a))
 {return(1);}
 else {return(0);}
}
int hui(int b)
{
 int a[10]={0},n=0,i=0,j=0,l,z=b;
 for(;;)
 {
  a[i]=b%10;
  i++;
  b=b/10;
  if(b==0){break;}
 }
 for(l=0;l<i;l++)
 { 
  n=10*n+a[l];
  
 }
 if(n==z)
 {
  return(1);
 }
 else
 {
  return(0);
 }
}
void main()
{
 int m,n,i,a[100000]={0,0},b=0,c=0,z,d=0;
 scanf("%d%d",&m,&n);
 for(i=m;i<=n;i++)
 {
  if((su(i)==1)&&(hui(i)==1))
  {a[b]=i;b++;}
 }
 for(i=m;i<=n;i++)
 {
  if(hui(i)==1)
  {
   c=1;break;
  }
 }
 if(c==0)
 { printf("no\n");}
for(i=m;i<=n;i++)
 {
  if(su(i)==1)
  {
   d=1;break;
  }
 }
if(d==0)
 { printf("no\n");}
 if(b!=0)
 {printf("%d",a[0]);
 for(z=1;z<b;z++)
 {printf(",%d",a[z]);
 }}
 else
 {printf("no");}
 printf("\n");
 
}
void main()
{
	int reverse(int d);
	int prime(int num);
	int m,n,p,q,r,k=0;
	scanf("%d %d",&m,&n);
	for(r=m;r<=n;r++)
	{
		p=reverse(r);
		q=prime(r);
		if(p==r&&q==1)
		{
			k++;
		    if(k==1) printf("%d",r);
		    else printf(",%d",r);
		}
	}
	if(k==0) printf("no");
}
int reverse(int d)
{
	int c,k,i,sum,e;
	int b[10]={0};
	k=log10(d);
	for(i=k;i>=0;i--)
	{
		b[i]=d/pow(10,i);
		d=d-b[i]*pow(10,i);
	}
	for(i=0;i<=k;i++)
	{
		if(b[i]!=0)
		{
			e=i;
		    break;
		}
	}
	sum=b[k];
	for(i=k-1;i>=e;i--)
		sum=sum+b[i]*pow(10,k-i);
	return(sum);
}
int prime(int num)
{
	int k,i;
	k=sqrt(num);
	for(i=2;i<=k;i++)
		if(num%i==0)
			break;
	if(i>=k+1)
		return(1);
	else return(0);
}