
- #include
- #define ff(i) for (int i=1;i<=n;i++)
- #define f(x,y) for (int y=x+1;y<=n;y++)
- using namespace std;
- bool zs(int x)
- {
- for (int i=2;i<=sqrt(x);i++)
- if (x%i==0)
- return 0;
- return 1;
- }
- int n,x,a[25],b[95000001]={0},mx=-1,c=0;
- int main()
- {
- cin>>n>>x;
- for (int i=1;i<=n;i++)
- cin>>a[i];
- if (x==1)
- {
- ff(i)
- {
- if (zs(a[i]))
- b[a[i]]++;
- if (a[i]>mx)
- mx=a[i];
- }
- }
- if (x==2)
- {
- ff(i)
- {
- f(i,j)
- {
- int m=a[i]+a[j];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- if (x==3)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- int m=a[i]+a[j]+a[k];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- if (x==4)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- int m=a[i]+a[j]+a[k]+a[l];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- if (x==5)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- if (x==6)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- if (x==7)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==8)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==9)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==10)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==11)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==12)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==13)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- f(pp,qq)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp]+a[qq];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==14)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- f(pp,qq)
- {
- f(qq,rr)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp]+a[qq]+a[rr];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==15)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- f(pp,qq)
- {
- f(qq,rr)
- {
- f(rr,ss)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp]+a[qq]+a[rr]+a[ss];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==16)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- f(pp,qq)
- {
- f(qq,rr)
- {
- f(rr,ss)
- {
- f(ss,tt)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp]+a[qq]+a[rr]+a[ss]+a[tt];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==17)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- f(pp,qq)
- {
- f(qq,rr)
- {
- f(rr,ss)
- {
- f(ss,tt)
- {
- f(tt,uu)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp]+a[qq]+a[rr]+a[ss]+a[tt]+a[uu];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==18)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- f(pp,qq)
- {
- f(qq,rr)
- {
- f(rr,ss)
- {
- f(ss,tt)
- {
- f(tt,uu)
- {
- f(uu,vv)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp]+a[qq]+a[rr]+a[ss]+a[tt]+a[uu]+a[vv];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (x==19)
- {
- ff(i)
- {
- f(i,j)
- {
- f(j,k)
- {
- f(k,l)
- {
- f(l,ii)
- {
- f(ii,jj)
- {
- f(jj,kk)
- {
- f(kk,ll)
- {
- {
- f(ll,mm)
- {
- f(mm,nn)
- {
- f(nn,oo)
- {
- f(oo,pp)
- {
- f(pp,qq)
- {
- f(qq,rr)
- {
- f(rr,ss)
- {
- f(ss,tt)
- {
- f(tt,uu)
- {
- f(uu,vv)
- {
- f(vv,ww)
- {
- int m=a[i]+a[j]+a[k]+a[l]+a[ii]+a[jj]+a[kk]+a[ll]+a[mm]+a[nn]+a[oo]+a[pp]+a[qq]+a[rr]+a[ss]+a[tt]+a[uu]+a[vv]+a[ww];
- if (zs(m))
- b[m]++;
- if (m>mx)
- mx=m;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- for (int i=1;i<=mx;i++)
- {
- if (b[i])
- c+=b[i];
- }
- cout<
- return 0;
- }