#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e6+10;
int n,k,ans,m;
int a[25],b[25];
bool vis[25];
bool pri(int k){
for(int i=1;i<=n;i++){
if(k%i==0)
return false;
}
return true;
}
void dfs(int x,int l){
if(x>k){
if(pri(l)){
m=max(m,l);
++ans;
b[l]=1;
}
}
for(int i=1;i<=n;i++){
if(vis[a[i]]==0){
vis[a[i]]=0;
dfs(x+1,l+a[i]);
}
}
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
dfs(1,0);
ans=0;
for(int i=1;i<=N;i++)
if(b[i]==1)
ans++;
cout<<ans;
return 0;
}