semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int m,n,i,j,num=0,c;
	int a[10000]={0},b[10000]={0},q[10000],z[10000],v[10000];
	scanf("%d%d",&m,&n);
	for(i=m,c=0;i<=n;i++){
		num=0;
		for(j=2;j<i;j++){
			if(i%j==0){
				num=1;
			}
		}
		if(num==0){
			a[c]=i;
			z[c]=i;
			v[c]=i;
			c++;
			
		}
	}
	//printf("%d",c);
	int temp=0,d,e=0,word;
	for(i=0;i<c;i++){
		temp=0;
		do{
			a[i]=a[i]/10;
            temp++;
		}
		
		while(a[i]!=0);
		do{
		b[i]=(z[i]%10)*pow(10,temp-1)+b[i];
			z[i]=z[i]/10;
			temp=temp-1;
		}while(z[i]!=0);
	}//printf("%d\n%d\n",temp,b[0]);
	for(i=0,e=0;i<c;i++){
		if(v[i]==b[i]){
			q[e]=v[i];
			e++;
		}
	}
	//printf("%d",e);
	if(e==0){
		printf("no");
	}
	else{
	printf("%d",q[0]);
	for(i=1;i<e;i++){
		printf(",%d",q[i]);
	}
	}
	return 0;
}
int sushu(int a);
int huiwenshu(int num);
void main()
{
	int m,n,a[10000],k=0,i;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
		if ((sushu(i)==1)&&(huiwenshu(i)==1))
		{a[k]=i;k++;}

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

int sushu(int a)
{
	int k,i;
	k=sqrt(a);
	for(i=2;i<=k;i++)
		if(a%i==0) break;
	if(i<=k) return 0;
	else return 1;
}


int huiwenshu(int   num)
{
        int   over   =   0;
        int   quotient   =   0;

        quotient   =   num;
        while(1)     
        {
                over   =   over*10   +   quotient%10   ;
                quotient=quotient/10;
                if   (   quotient   ==     0   )
                        break;
        }

        if   (num   ==   over   )
                return   1;
        else
                return   0;
}
int d[5],z,g,i,j,k,m,n,y,out[300],num;

void main()
{
	scanf("%d %d",&m,&n);
	num=0;
	

	
		for (i=m;i<=n;i++)
		{
			if (sushu(i)==0)
			{
				y=0;
			}
			else 
			{
				y=1+huiwen(i);
			}
		
			if (y==2) 
			{
				out[num]=i;
				num++;
			}
		}
		
			if (num==0) printf("no");
			else if (num==1) printf("%d",out[0]);
			else 
			{
				printf("%d",out[0]);
				for (i=1;i<num;i++)
				{
					printf(",%d",out[i]);
				}
			}
	

}

int sushu(i)
{
	if (i<10)
	{
		if (i==2) z=1;
		else if (i==3) z=1;
		else if (i==5) z=1;
		else if (i==7) z=1;
		else z=0;
	}
	else
	{
		g=1;
		for (j=2;j<i;j++)
		{
			if (i%j==0) g=0;
		}

		if (g==1) z=1;
		else z=0;
	}
	return(z);
}

int huiwen(i)
{
	if (i<10) z=1;
	else 
	{	
		d[4]=i/10000;
		d[3]=(i-d[4]*10000)/1000;
		d[2]=(i-d[4]*10000-d[3]*1000)/100;
		d[1]=(i-d[4]*10000-d[3]*1000-d[2]*100)/10;
		d[0]=i-d[4]*10000-d[3]*1000-d[2]*100-d[1]*10;
		
		if (d[4]!=0) 
		{
			if (d[4]==d[0] && d[3]==d[1]) z=1;
			else z=0;
		}
		else 
		{
			if (d[3]!=0)
			{
				if (d[3]==d[0] && d[2]==d[1]) z=1;
				else z=0;
			}
			else 
			{
				if (d[2]!=0) 
				{
					if (d[2]==d[0]) z=1;
					else z=0;
				}
				else
				{
					if (d[1]==d[0]) z=1;
					else z=0;
				}
			}
		}
		return (z);
	}
}
void main()
{
	int m,n,i=0,j=0,k=0,b[100],a[12],s=0,h;double l;
	scanf("%d%d",&m,&n);
	for(;m<=n;m++)
	{i=0;k=m;
		while(m)
		{
			a[i]=m%10;
			m=m/10;
			i++;
		}h=i;m=k;
		for(i=0;i<h;i++)
		{    l=(double)(h-1-i);
			s=s+a[i]*pow(10.0,l);
		}
		if(m==s)
		{k=0;
			for(i=2;i<s;i++)
			{
				if(s%i==0)
					k=1;
			}
			if(k==0)
			{
				b[j]=s;j++;
			}
		}s=0;
	}
	k=j;
	if(j==0)printf("no");
	else{
		if(j==1)
		{
			printf("%d",b[0]);
		}
		else{
	for(j=0;j<k-1;j++)
	{
		printf("%d,",b[j]);
	}
	printf("%d",b[j]);}
	}
}
int main()
{
    int a[100000]={0};
    int i,j,m,n,t=0;
    
    scanf("%d %d",&m,&n);
    
    for(i=m;i<=n;i++)
    {
        for(j=2;j<i;j++)
        {
           if(i%j==0)
           {
              a[i]=1;
              break;
           }
        }
    }
    
    for(i=m;i<=n;i++)
    {
        if(a[i]==0)
        {
        int s[10]={0};
        int k=0,tmp=0,f=0;
        tmp=i;
        while(tmp>0)
        {
           s[k]=tmp%10;
           k++;
           tmp=tmp/10;
        }
        
        for(j=0;j<k/2+1;j++)
        {
           if(s[j]!=s[k-1-j])
           {
             f=1;
             break;
           }
        }
        if(f==0&&t!=0)
        {
             printf(",%d",i);
             t=1;
        }
        if(f==0&&t==0)
        {
           printf("%d",i);
           t=1;
        }
        }
        
    }
    if(t==0)
    printf("no");
           
    return 0;
}
int re(int a)
{
	int b=0;
	while(a!=0)
	{
		b=b*10+a%10;
	    a=a/10;
	}
	return(b);
}

void main()
{
	int m,n,i,k,j,p=0,q,a[300]={0};
	int re(int a);
	scanf("%d%d",&m,&n);
	i=m;
    k=0;
	for(i=m;i<=n;i++)
	{
		if(re(i)==i)
		{
			p=i;
			for(j=2;j<=sqrt(i);j++)
			{
				if(i%j==0) break;
				if(j>sqrt(i)-1)
				{	
					a[k]=i;
					k++;
				}
			}
		}
	}
	if(a[0]!=0)
	{
		printf("%d",a[0]);
        for(i=1;i<k;i++)
		{
		printf(",%d",a[i]);
		}
	}
	if(a[0]==0)
		printf("no");
}
int main()
{  int q,m,n,i,j,a,b,k,u,flag,p=0;
   scanf("%d%d",&m,&n);
   for(q=m;q<=n;q++)
     {u=q;a=q/10;b=q%10;j=0;
       while(u>0)
         {j=j*10+b;
         b=a%10;
         a=a/10;
         u=u/10;}
    if(j==q)
    {flag=0;
        for(k=2;k<q/2;k++)
          {
          if(q%k==0) flag++;}
            if(flag==0) {printf("%d",q);p++;break;}}
           }
  for(i=q+1;i<=n;i++)
     {u=i;a=i/10;b=i%10;j=0;
       while(u>0)
         {j=j*10+b;
         b=a%10;
         a=a/10;
         u=u/10;}
    if(j==i)
    {flag=0;
        for(k=2;k<i/2;k++)
          {
          if(i%k==0) flag++;}
            if(flag==0) {printf(",%d",i);p++;}}
           }
           if(p==0) printf("no");
}
int ifhuiwen (int a)
{
	int flag,i,t,a_;
	a_=a;
	for (i=10,t=0;a_!=0;)
	{
		t=t*10+a_%i;
		a_=a_/i;
	}
	if (t==a)
		flag=1;
	return flag;
}

int ifsushu (int a)
{
	int flag=1,i;
	for (i=2;i<a/2+1;i++)
	{
		if (a%i==0)
			flag=0;
	}
	return flag;
}

void main ()
{
	int min, max,i,flag=0;
	scanf ("%d %d",&min,&max);
	for (i=min;i<=max;i++)
	{
		if (ifhuiwen(i)==1 && ifsushu(i)==1 && flag==0)
		{
			printf ("%d",i);flag=i;
		}
		if (ifhuiwen(i)==1 && ifsushu(i)==1 && i!=flag)
			printf (",%d",i);
	}
	if (flag==0)
		printf ("no");
}
void main()
{
	int judgep(int i);
	int judgeh(int i);
	int m,n,i,flag1,flag2,flag;
	scanf("%d%d",&m,&n);
	for (i=m,flag1=0,flag2=0,flag=0;i<n+1;i++)
	{
		flag1=judgep(i);
		flag2=judgeh(i);
		if (!flag1)
			continue;
		else if (flag1&&flag2&&(flag==0))
		{
			printf("%d",i);
			flag=1;
		}
		else if (flag1&&flag2&&flag)
			printf(",%d",i);
	}
	if (!flag)
		printf("no");
	printf("\n");
}

int judgep(int i)
{
	int j,flag,temp;
	for (j=2,flag=0;j<i;j++)
	{
		if (i%j==0)
		{
			flag=1;
			break;
		}
	}
	if (flag)
		temp=0;
	else
		temp=1;
	return(temp);
}

int judgeh(int i)
{
	int temp,s,t;
	t=i;
	s=0;
	while(i/10!=0)
	{
		s=(s+i%10)*10;
		i=i/10;
	}
	s=s+i;
	if (t==s)
		temp=1;
	else
		temp=0;
	return(temp);
}
int main()
{
    int m,n,i,j,k,s,t,sum=0,a[65535],b[65535];
    scanf("%d %d",&m,&n);
    for(i=0;m+i<=n;i++)
        {
            s=m+i;
            for(j=0;s!=0;j++)
            {
                a[j]=s%10;
                s=s/10;
            }
            for(k=0;k*2<=j-1;k++)
            {
                if(a[k]!=a[j-1-k])
                {
                    t=0;
                    break;
                }
                else
                t=1;
            }
            if(t==0)
            continue;
            else
            {
                for(j=2;j<=sqrt(m+i);j++)
                    {
                        if((m+i)%j==0)
                        {
                        t=0;
                        break;
                        }
                        else
                        t=1;
                    }
                if(t==1)
                    {
                        sum++;
                        if(sum==1)
                        printf("%d",m+i);
                        else
                        printf(",%d",m+i);
                    }
            }
        }
    if(sum==0)
    printf("no");
    getchar();
    getchar();
}
int hui(int x)
{
	int i, j;
	char a[10];
	sprintf(a,"%d",x);
	for(i=0, j=strlen(a)-1;i<j;i++, j--)
	{
		if(a[i] != a[j])
			return 0;
	}
	return 1;
}

int su(int x)
{
	int i;
	for(i=2;i<=sqrt(x);i++)
	{
		if(x%i==0)
			return 0;
	}
	return 1;
}

int main()
{
	int m, n, no=0;
	scanf("%d%d", &m, &n);
	for(m;m<=n;m++)
	{
		if((no!=0) && (hui(m)==1 && su(m)==1))
			printf(",%d",m);
		if((no==0) && (hui(m)==1 && su(m)==1)) 
		{ 
			printf("%d",m);
			no++;
		}
	}
	if(no==0)
		printf("no");
	return 0;
}
int sushu(int n){
    int i,m=1;
	for(i=2;i<n;i++){
		if(n%i==0){
			m=0;
		    break;
		}
	}
	return m;
}
int huiwen(int n){
    int m=0, t=n, z=0;
	while(t>0){
	      m=m*10+t%10;
		  t=t/10;
	}
if(m==n) z=1; 
return z;
}
void main(){
     int m, n, i,j=0;
	 scanf("%d%d",&m,&n);
	 for(i=m;i<n+1;i++){
		 if(sushu(i)&&huiwen(i)){
	       j++;
		   if(j==1) printf("%d",i);
		   else if(j>1) printf(",%d",i);
		 }
	 }
	 if(j==0) printf("no");
}
void main()
{
	int m,n,i,j,k,t,s=0,r=0,w=0,p=0,flag,sum,a[300]={0},b[300];
	scanf("%d %d",&m,&n);
        for(i=m;i<n+1;i++)
		{
		t=i;
		sum=0;
		while(t!=0)
		{j=t%10;
		sum=sum*10+j;
		t=t/10;}
		if(sum==i) a[w++]=sum;
		}
		for(k=0;k<w;k++)
		{flag=0;
			for(i=2;i<a[k];i++)
				if(a[k]%i==0) {flag=1;a[k]=0;break;}
			if(flag==0) s++;
		}
		for(i=0;i<w;i++)
				if(a[i]!=0) b[p++]=a[i];
				if(p!=0){
		for(i=0;i<p-1;i++)
			printf("%d,",b[i]);
	
		printf("%d",b[p-1]);}
				else printf("no");
					
}
int su(long x)
{
	int i,j=0;
	for (i=2;i<=sqrt(x);i++)
		if (x%i==0) {return(0); j=1; break;}
	if (j==0) return(1);
}

int hui(long x)
{
	int i,j;
	long y=0,p;
	p=x;
	while (x>0)
	{
      y=(10*y+x%10);
	  x=x/10;
	}
	if (p==y) return(1);
	 else return(0);
}


void main()
{
	long a,b;
	int i,j,sum=0,s[1000]={0};
	scanf("%d%d",&a,&b);
	for (i=a;i<=b;i++)
	{
		if (hui(i)==1&&su(i)==1) 
		{
			sum++;
			s[sum]=i;
		}
	}
	if (sum==0) printf("no\n");
	else 
	{
		for (i=1;i<sum;i++)
			printf("%ld,",s[i]);
		printf("%ld\n",s[sum]);
	}
}
int huiwen(int n);
int sushu(int n);

int main()
{
	int m,n;
	scanf("%d%d",&m,&n);
    int first=1,flag=1;
	for(int j=m;j<=n;j++)
	{
		if(sushu(j)&&huiwen(j))
		{
			if(first==1)
			{
				printf("%d",j);
				first=0;
			}
			else
			{
				printf(",%d",j);
			}
			flag=0;
		}
	}
	if(flag==1)
	{
		printf("no");
	}
	return 0;
}
int huiwen(int n)
{
    int temp, s=0;
    temp=n;
    while(n>0)
	{
        s=s*10+(n%10);
        n=n/10;
    }
    if(s==temp)
        return 1;
    else
        return 0;
}
int sushu(int n)
{
    int i;
    for(i=2;i<n;i++)
        if (n%i==0)
            return 0;
    return 1;
}
void main()
{
	int hui(int i);
    int su(int i);
int m,n,i,j,k,l;
scanf("%d %d",&m,&n);
for(i=n;i>=m;i--)
{  
	if(hui(i)==1&&su(i)==1)    break;
}
for(j=m;j<i;j++)
{  
	if(hui(j)==1&&su(j)==1)    printf("%d,",j);
}
if(i==m-1)    printf("no");
else printf("%d",i);
}
 int hui(int i)
 {
	 int m=0,j,temp;
	 temp=i;
	 while(temp!=0)
	 {
		 j=temp%10;
		 m=m*10+j;
         temp=temp/10;
     }
     if(m==i) return(1);
	 else return(0);
 }
  int su(int i)
  {
	  int a,s,d;
	  a=sqrt(i);
      for(s=2;s<=a;s++)
	  {
		  if(i%s==0)  break;
	  }
       if(i%s==0)   return(0);
	   else return(1);
  }
int prime(int x)
{
	int q,i,flag=1;
	q=sqrt(x);
	for(i=2;i<=q;i++)
	{
		if(x/i*i==x)
		{
			flag=0;
			break;
		}	
	}
	return flag;
}
int hw(int x)
{
	int a,b,c=0;
	a=x;
	b=x;
	while(b/10>0)
	{
		c=c*10+b%10;
		b=b/10;
	}
	c=c*10+b;
	if(c==a) return 1;
	else return 0;
}
int main()
{
	int m,n,i,count=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(prime(i)==1&&hw(i)==1)
		{
			count++;
			if(count>1) printf(",");
			printf("%d",i);
		}
	}
	if(count==0)
		printf("no\n");
	else
		printf("\n");
	return 0;
}
void main()
{
	int m,n;
	int i,j,t,k,r[100]={0},tag,count=0,s=0,sub,x,min,minin,temp2,y;
	float temp;
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		
		tag=1;
		temp=sqrt(i);
		for(j=2;j<=temp;j++)
		{
			if(i%j==0)
			{
				tag=0;
                break;
			}
		}
		if(tag==1)
		{
			
			t=i;
			sub=0;
			s=0;
			while(t!=0)
			{
				t=t/10;
				sub++;
			}
			y=i;
			for(k=0;k<sub;k++)
			{
				x=y%10;
				s=s*10+x;
				y=y/10;

			}
		
			if(s==i)
			{
				r[count]=i;
				count++;
			}
		}
	}
	for(i=0;i<count;i++)
	{
		min=r[i];
		minin=i;
		for(j=i;j<count;j++)
		{
			if(r[j]<min)
			{
				minin=j;
				min=r[minin];
			}
		}
		if(min!=r[i])
		{
			temp2=r[i];
			r[i]=r[minin];
			r[minin]=temp2;
		}
	}
	if(count==0)
		printf("no\n");
	else
	{
	for(i=0;i<count-1;i++)
	  printf("%d,",r[i]);
	printf("%d\n",r[i]);
	}
}
int f(int m)
{
	int temp,k,n=0,z;
	temp=m;
	while(temp>0)
	{k=temp%10;
	n=n*10+k;temp=temp/10;
	}
	if(m==n)z=1;else z=0;
	return(z);
}
int g(int a)
{
	int z=0,i,k;
	k=a/2;
	for(i=2;i<k;i++)
	if(a%i==0)break;
		if(i>=k)z=1;
		return(z);
}

void main()
{
	int m,n,s,l,i,t=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		s=f(i);
		l=g(i);
if((s==1)&&(l==1)&&(t==0))
{printf("%d",i);t++;}
else if((s==1)&&(l==1))
{printf(",%d",i);t++;}
	}
	if(t==0)printf("no");
}
int p(int a);
int t(int a,int i);
int huiwen(int a);
int sushu(int a);
int p(int a)
{
	int i=1;
	while(a>0)
	{
		i*=10;
		a--;
	}
	return i;
}

int t(int a,int i)
{
	int n=log10(a);
	return (a%p(i))/p(i-1);
}
int huiwen(int a)
{
	int n=log10(a);//n+1??
	int i;
	for(i=1;i<=(n+1)/2+1;i++)
	{
		if(t(a,i)!=t(a,n+2-i))
			return 0; 
	}
	return 1;
}


int sushu(int a)
{
	int i;
	for(i=2;i<=sqrt(a);i++)
	{
		if(a%i==0)return 0;
	}
	return 1;
}


void main()
{
	int max,min;
	int i,index=0;
	int tempa=p(2);
	int tempb=t(12345,4);
	int temp=huiwen(101);
	int out[100];
	scanf("%d %d",&min,&max);
	for(i=min;i<=max;i++)
	{
		if(sushu(i)&&huiwen(i)){
			out[index]=i;
			index++;
		}
	}
	if(index==0)printf("no");
	else{
		for(i=0;i<index;i++){
			if(i!=index-1)printf("%d,",out[i]);
			else printf("%d",out[i]);
		}
	}
}
int isprime(int n)
{
    int i;
    if (n % 2 == 0)
        return 0;
    for (i = 3; (i * i) <= n; i+=2)
    {
        if (n % i == 0)
            return 0;
    }
    return 1;
}

int ishuiwen(int n)
{
    int h = 0, m = n;
    while (m > 0)
    {
        h = h * 10 + m % 10;
        m /= 10;
    }
    return (h == n);
}

int main()
{
    int count = 0, i, m, n;
    scanf("%d%d", &m, &n);
    for (i=m; i<=n; i++)
    {
        if (isprime(i) && ishuiwen(i))
        {
            count++;
            if (count == 1)
                printf("%d", i);
            else
                printf(",%d",i);
        }
    }
    if (count == 0)
        printf("no");
    return 0;
}
int isreverse(int num)
{
	int num_r=0;
	int __num=num;
	while (num!=0)
	{
		num_r=num_r*10+num%10;
		num/=10;
	}
	if (num_r==__num)
		return 1;
	else
		return 0;
}
void getprime(int prime[])
{
	prime[0]=0;
	prime[1]=0;
	int i, j;
	for (i=2; i<LIMIT; i++)
		prime[i]=1;
	for (i=2; i<LIMIT; i++)
	{
		if (prime[i])
		{
			for (j=i*i; j<LIMIT; j+=i)
				prime[j]=0;
		}
	}
}
void main()
{
	int i,flag=1;
	int prime[LIMIT];
	getprime(prime);
//	for (i=0; i<LIMIT; i++)
//	{
//		if (prime[i])
//			printf("%d ", i);
//	}
	int m,n;
	scanf("%d%d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(prime[i]&&isreverse(i)&&flag)
		{
			printf("%d",i);
			flag=0;
		}
		else if(prime[i]&&isreverse(i))
			printf(",%d",i);
	}
	if(flag==1)
		printf("no");

}
int prime(int x)
{
	int flag=1,i;
	for(i=2;i<x/2&&flag==1;i++)
		if(x%i==0) flag=0;
	return(flag);
}
int huiwen(int x)
{
	int flag=1,i,k;
    int digit[9];
    for(k=0;x!=0;k++)
	{
        digit[k]=x%10;
        x/=10;
	}
    k=k-1;
    for(i=0;i<k;i++,k--)
        if(digit[i]!=digit[k]) break;
    if(i<k) flag=0;
	return(flag);
}
void main()
{
	int m,n,i,j;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
		if(prime(i)!=0&&huiwen(i)!=0)
		{printf("%d",i);break;}
	if(i>n) printf("no");
	for(j=i+2;j<=n;j=j+2)
		if(prime(j)!=0&&huiwen(j)!=0)
		printf(",%d",j);
}
main()
{
	int h=0,i,j,k,l,m,n,x,y,z[10000]={0};
	scanf("%d %d",&x,&y);
	for(k=x;k<=y;k++)
	{
		for(j=2;j<=sqrt(k);j++)
			if(k%j==0)
				break;
			if(j>sqrt(k))
			{
				n=log10(k)+1;
				m=0;
				l=k;
				for(i=0;i<=n-1;i++)
				{
					z[i]=l/pow(10,n-1-i);
					l=l-z[i]*pow(10,n-1-i);
				}
				for(i=0;i<=n-1;i++)
					if(z[i]==z[n-1-i])
						m++;
					if(m==n)
					{
						if(h)
							printf(",");
						printf("%d",k);
						h++;
					}
			}
	}
	if(h==0)
		printf("no");
	printf("\n");
}
int prime(int x)
{   int flag=0;
if(x==1)
return(1);
else  if(x==2||x==3)
		return(0);
	else
	{
		for(int i=2;i<x;i++)
		{
			if(x%i==0)
			{
				flag=1;
				break;
			}
		}
		if(flag==0)
			return (0);
		else
			return (1);
	}
}
int main()
{
	int n,i,m,j,num=0,b[100];
	cin>>n>>m;
	for(i=n;i<=m;i++)
	{   int a[10],count=0,flag=0,l;
	l=i;
	while(l>0)
	{
       a[count++]=l%10;
	   l=l/10;
	   }
	for(j=0;j<count;j++)
	{
		if(a[j]!=a[count-j-1])
		{
			flag=1;
			break;
		}
		
	}
	if(flag==0&&prime(i)==0)
	{   
		b[num++]=i;
	}
	}
	if(num==0)
		cout<<"no"<<endl;
	else
	{
		for(i=0;i<num;i++)
		{
			if(i==num-1)
				cout<<b[i]<<endl;
			else
				cout<<b[i]<<",";
		}
	}
	return 0;
}
void main()
{
	int reverse(int t);
	int prime(int t);
	int m,n,t,k=0,rev,f=0;
	int a[100000],*p;
	p=a;
	scanf("%d%d",&m,&n);
	for(t=m;t<=n;t++)
	{
		rev=reverse(t);
		if(t==rev)
		{
			f=prime(t);
			if(f==1)
			{
				*p=t;
				p++;
				k++;
				
			}
		}
		
	}

	if(p>a)
	{
	for(p=a;p<a+k-1;p++)
			printf("%d,",*p);
		printf("%d",*p);
	}
	else
		printf("no\n");
	
}
int reverse(int t)
{
	int r=0,b[100000],*q,rev;
	
	for(q=b;t>=1;q++,r++)
	{
		*q=t%10;
		t=t/10;
	}
	q=b;
	for(rev=0;q<b+r;q++)
	{
		rev=rev*10+*q;
	}
	return rev;
}

int prime(int t)
{
	int k,i;
	k=sqrt(t);
	for(i=2;i<=k;i++)
	{
		if(t%i==0)
			break;
	}
	if(i>k) return 1;
	else return 0;
	
}
int huiwen(int a)
{
	int b=0,t;
	t=a;
	while(a!=0)
	{
		b=b*10+a%10;
		a/=10;
	}
	if(t==b) return(1);
	else return(0);
}
int sushu(int a)
{
	int i;
	if(a==2) return(1);
	for(i=2;i<sqrt(a)+1;i++)
	{
		if(a%i==0) return(0);
	}
	return(1);
}
void main()
{
	int n,m,t=0,k,i;
	scanf("%d%d",&m,&n);
	for(k=m;k<=n;k++)
	{
		if(huiwen(k)==1&&sushu(k)==1) 
		{
			printf("%d",k);
			t++;
			break;
		}
	}
	for(i=k+1;i<=n;i++)
	{
		if(huiwen(i)==1&&sushu(i)==1)
		{
			printf(",%d",i);
			t++;
		}
	}
	if(t==0) printf("no");
}
void main()
{
    long int l[100]={0},s=0;
    long int i,t,n,p,q,j,a;
	scanf("%d %d",&p,&q);
	for(j=0;j<q-p+1;j++)
	{
	a=p+j;
	n=a;
	t=0;
	for(i=0;i<9;i++)
	{
		if(n!=0)
		{
			t=t*10+n%10;
			n=n/10;
		}
		else
			break;
	}
	n=0;
	if(t==a)
	{
		for(i=2;i<a;i++)
		{
			if(a%i!=0)
				n++;
		}
		if(n==a-2)
		{
		    l[s]=a;
		    s++;
		}
	}
	}
	if(l[s-1]!=0)
	{
	for(i=0;i<s-1;i++)
	    printf("%d,",l[i]);
	printf("%d\n",l[s-1]);
	}
	else
		printf("no\n");
}
int lenth(int a)
{
	int n=0;
	while(a/10>0)
	{
		n=n+1;
		a=a/10;
	}
	return n;
}
int nixu(int a,int n)
{
	int z,m,i;
	if(a<10) z=a;
	else 
	{
      m=a%10;
	  for(i=1;i<=n;i++)
		  m=m*10;
	  z=m+nixu(a/10,n-1);
	}
	return z;
}
int huiwen(int a)
{
    int z,m;
	m=nixu(a,lenth(a));
	if(m==a) z=1;
	else z=0;
	return z;
}
int sushu(int a)
{
	int i,z;
	for(i=2;i<a;i++)
		if(a%i==0) {z=0;break;}
	if(i==a) z=1;
	return z;
}
void main()
{
	int a,b,i,s=0;
	scanf("%d%d",&a,&b);
	if(a>b)
	{
		for(i=b;i<=a;i++)
			if(huiwen(i)&&sushu(i)) {s=s+1;printf("%d",i);break;}

		for(i=i+1;i<=a;i++)
            if(huiwen(i)&&sushu(i)) {s=s+1;printf(",%d",i);}
		if(s==0) printf("no");
	}
	else
	{
		for(i=a;i<=b;i++)
			if(huiwen(i)&&sushu(i)) {s=s+1;printf("%d",i);break;}
		for(i=i+1;i<=b;i++)
            if(huiwen(i)&&sushu(i)) {s=s+1;printf(",%d",i);}
		if(s==0) printf("no");
	}
}
void main()
{
	int m,n,i,temp,j,k=0,x=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		temp=i;
		k=0;
		while(temp!=0)
		{  j=temp%10;
		   k=k*10+j;
		   temp=temp/10;
		}
		if(k==i)
		{	
		    j=2; 
			while(j<i)
			 {if((i%j)==0) break;j++; }		
			if(j>=i) 
			{ 
				if(x==0) printf("%d",i);
				else printf(",%d",i);			
			    x++; 
			}			 
		}
	}
	if(x==0) printf("no");
}
/*??????   
 
?? ??-From Whf 
?? 
??????? m ?n ??????????????????m ? n?????m ???n??????????????????????????? no (??????????????????123321?121)?
 
???? 
m ? n ?1??????1??????
 
???? 
?????????????????????????? no
 
???? 
100  200
 
???? 
101,131,151,181,191
 

*/
int prime(int x);
int huiwen(int x);



void main()
{
	int i,m,n,num=0,str[1000];
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if((prime(i)*huiwen(i))!=0)
		{
			str[num]=i;
			num++;
		}
	}
	str[num]='\0';
	if(num==0)
		printf("no");
	else
	{
		printf("%d",str[0]);
		for(i=1;i<=num-1;i++)
			printf(",%d",str[i]);
	}
}
int prime(int x)
{
	int i;
	for(i=2;i<=x;i++)
	{
		if(x%i==0)
			break;
	}
	if(i==x)
		return(1);
	else
		return(0);
}
int huiwen(int x)
{
	int c,d;
	d=x;
	c=x%10;
	while(x)
	{
		x=x/10;
		c=c*10+x%10;
	}
	c=c/10;
	if(c==d)
		return(1);
	else
		return(0);
}
int huiwen(int m,int n)
{
	if(m==0)return (n);
	else return(huiwen(m/10,n*10+m%10));
}
int sushu(int n)
{
	int i;
	for(i=2;i<=sqrt(n);i++)
		if(n%i==0)break;
	if(i>sqrt(n))return (1);
	else return (0);
}
int main()
{
	int m,n,i,j;
	scanf("%d%d",&m,&n);
	for(i=m,j=0;i<=n;i++)
	{if(i==huiwen(i,0)&& sushu(i)) 
	{j++;if(j>1)printf(",%d",i);
	     else if(j==1)printf("%d",i);
	}
	}
	if(j==0)printf("no");
	return (0);
}
void main()
{int m,n;
 int t[100]={0};

 int i;
 int j=0;
 int ifhw(int num);
 int ifs(int num);
 scanf("%d%d",&m,&n);
 for(i=m;i<=n;i++)
 { if (ifhw(i))
	 if (ifs(i))
	  {t[j]=i;
	  j++;}}

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


int ifhw(int num)
{int digit[10];
 int i=0;
 int n;
 while(num>0)
  {digit[i]=num-num/10*10;
   i++;
   num=num/10;}
   n=i;
 for(i=0;i<n/2;i++)
  {if(digit[i]!=digit[n-i-1])
	{return(0);
	break;}}
}

int ifs(int num)
{int i;
 for(i=2;i<num;i++)
 {if(num%i==0)
  {return(0);
  break;}}
}
void main()
{
	int m,n,o=0;
	int flag,i,j,k=0,l,b[100]={0},p;
	int a[20000]={0};
	int v,w,x,y,z;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		flag=1;
		for(j=2;j<=i/2;j++)
		{
			if(i%j==0)
			{
				flag=0;
				break;
			}
		}
		if(flag==0)
		continue;
		a[k]=i;
		k++;
		
	}
	for(l=0;l<k;l++)
	{
		if(a[l]<1000)
		{v=a[l]/100,x=a[l]%10,w=a[l]/10-v*10;
			if(v==x)
			{b[o]=a[l];
			o=o++;
			}
		}
		else if(a[l]<10000)
		{v=a[l]/1000,w=a[l]/100-v*10,y=a[l]%10,x=a[l]/10-v*100-w*10;
		    if(v==y&&w==x)
			{b[o]=a[l];
			o=o++;
			}
		}
		else if(a[l]>=10000)
		{v=a[l]/10000,w=a[l]/1000-v*10,x=a[l]/100-v*100-w*10,z=a[l]%10,y=a[l]/10-v*1000-w*100-x*10;
			if(v==z&&w==y)
			{b[o]=a[l];
			o=o++;
			}
		}
	}
	
	if (o==0)printf("no");
	else 
	{
		for(p=0;p<o-1;p++)
		{
			printf("%d,",b[p]);
		}
		printf("%d",b[o-1]);
	}

}
char a[100];
int b[9999];
int i,j,k,l=0,p,temp1=0,temp2=0;
void P(int m,int n)
{
	void sushu();
	for (i=m;i<=n;i++)
	{
		sushu();
		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)
			{
				b[l]=i;
				l++;
			}
		}
		temp1=0;
		temp2=0;
	}
	if (l==0)
		printf("no");
	else
	{
	for (i=0;i<l-1;i++)
	{
		printf("%d,",b[i]);
	}
	printf("%d",b[l-1]);
	}
}

void main()
{
	int m,n;
	scanf("%d%d",&m,&n);
	P(m,n);
}
void sushu()
{
if (i!=2)
			for (j=2;j<=i/2;j++)
			{
				if (i%j==0)
				{
					temp1=1;
					break;
				}
			}
}
void main()
{
	int huiwen (int a);
	int sushu (int t);
	int m,n,i,l=0,t;
	scanf("%d %d",&m,&n);
	
	for (i=m;i<=n;i++)
	{
		if ((huiwen (i))==1)
		{	if ((sushu (i))==1)
		      {printf("%d",i);
		       l++;
		        break;}
		}
	}

	if (l==0)
		printf("no");
		    
	
	for (t=i+1;t<=n;t++)
	{
		if ((huiwen (t))==1)
			if ((sushu (t))==1)
		      printf(",%d",t);
	
	}
}
    
    int huiwen (int a)
	{   int c=0,temp=a;
	    while (temp>0)
		{  c=c*10+temp%10;
		  temp=temp/10;}
			if (a==c)
			return (1);
		else
			return(0);
	}
	int sushu(int t)
	{   int i;
	   for (i=2;i<=sqrt(t);i++)
		   if (t%i==0)
			   break;
		   if (i>sqrt(t))
			   return(1);
		   else
			   return(0);
	}
int my(int n)
{
	int i,l,a[100]={0},b[100]={0},t=1;
	l=(int)log10(n)+1;
	for(i=1;i<=l;i++)
	{
		a[i]=n%10;
		n=(n-a[i])/10;
	}
	for(i=1;i<=l;i++)
	{
		b[i]=a[l-i+1];
	}
	for(i=1;i<=l;i++)
	{
		if(a[i]!=b[i])
		{
			t=0;
			break;
		}
	}
	return t;
}
int su(int n)
{
	int i,t=1;
	for(i=2;i<n/2;i++)
		if(n%i==0)
		{
			t=0;
			break;
		}
	return t;
}
int main()
{
	int su(int n);
	int my(int n);
	int i,m,n,a[1000],k=0;
	scanf("%d %d",&m,&n);
	for(i=m;i<=n;i++)
	{
		if(my(i)==1&&su(i)==1)a[k++]=i;
	}
	if(k==0)
		printf("no");
	else 
	{
		for(i=0;i<k-1;i++)printf("%d,",a[i]);
		printf("%d",a[k-1]);
	}
	return 0;
}