#include <bits/stdc++.h>
using namespace std;
#define for1(i,m,n) for(int i=m;i<=n;i++)
#define for0(i,m,n) for(int i=m;i<n;i++)
#define forr1(i,m,n) for(int i=m;i>=n;i--)
#define forr2(i,m,n) for(int i=m;i>n;i--)
#define el '\n'
#define fi first
#define se second
#define ii pair<int,int>
#define vll(i) i.begin(),i.end()
#define pb push_back
#define fr front()
#define MASK(i) ((1ll) << (i))
#define BIT(i,n) (((i)>>(n))&1)
const int N=16;
const int MOD=1e9+2277;
int a[MASK(N)+3],s[MASK(N)+3];
bool ok[MASK(N)+3];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// freopen("message.inp", "r", stdin);
// freopen("message.out", "w", stdout);
int n,k,sumn=0;cin>>n>>k;
for0(i,0,n){
cin>>a[i];
sumn+=a[i];
}
if(sumn%k!=0) {
cout<<false;
return 0;
}
sumn/=k;
for0(i,0,n){
s[MASK(i)]=a[i];
}
for0(i,0,MASK(n))
if(__builtin_popcount(i)>=2){
int tmp=i&-i;
s[i]=s[tmp]+s[i^tmp];
}
ok[0]=1;
for0(i,1,MASK(n)){
//ok[i]=0;
forr1(j,i,0){
j&=i;
if(s[j]==sumn&&ok[i^j]) {
//cout<<i<<el;
ok[i]=1;
break;
}
}
}
cout<<ok[MASK(n)-1];
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZvcjEoaSxtLG4pIGZvcihpbnQgaT1tO2k8PW47aSsrKQojZGVmaW5lIGZvcjAoaSxtLG4pIGZvcihpbnQgaT1tO2k8bjtpKyspCiNkZWZpbmUgZm9ycjEoaSxtLG4pIGZvcihpbnQgaT1tO2k+PW47aS0tKQojZGVmaW5lIGZvcnIyKGksbSxuKSBmb3IoaW50IGk9bTtpPm47aS0tKQoKI2RlZmluZSBlbCAnXG4nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgdmxsKGkpIGkuYmVnaW4oKSxpLmVuZCgpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZnIgZnJvbnQoKQoKI2RlZmluZSBNQVNLKGkpICgoMWxsKSA8PCAoaSkpCiNkZWZpbmUgQklUKGksbikgKCgoaSk+PihuKSkmMSkKCmNvbnN0IGludCBOPTE2Owpjb25zdCBpbnQgTU9EPTFlOSsyMjc3OwoKaW50IGFbTUFTSyhOKSszXSxzW01BU0soTikrM107CmJvb2wgb2tbTUFTSyhOKSszXTsKCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7Ci8vICAgIGZyZW9wZW4oIm1lc3NhZ2UuaW5wIiwgInIiLCBzdGRpbik7Ci8vICAgIGZyZW9wZW4oIm1lc3NhZ2Uub3V0IiwgInciLCBzdGRvdXQpOwppbnQgbixrLHN1bW49MDtjaW4+Pm4+Pms7Cgpmb3IwKGksMCxuKXsKIGNpbj4+YVtpXTsKIHN1bW4rPWFbaV07Cn0KaWYoc3VtbiVrIT0wKSB7CiAgICBjb3V0PDxmYWxzZTsKICAgIHJldHVybiAwOwp9CnN1bW4vPWs7Cgpmb3IwKGksMCxuKXsKIHNbTUFTSyhpKV09YVtpXTsKfQoKZm9yMChpLDAsTUFTSyhuKSkKICAgIGlmKF9fYnVpbHRpbl9wb3Bjb3VudChpKT49Mil7CiAgICAgaW50IHRtcD1pJi1pOwogICAgIHNbaV09c1t0bXBdK3NbaV50bXBdOwoKfQpva1swXT0xOwpmb3IwKGksMSxNQVNLKG4pKXsKICAvL29rW2ldPTA7CiAgZm9ycjEoaixpLDApewogICBqJj1pOwogICBpZihzW2pdPT1zdW1uJiZva1tpXmpdKSB7CiAgICAgICAgLy9jb3V0PDxpPDxlbDsKICAgICAgICBva1tpXT0xOwogICBicmVhazsKICAgfQogIH0KfQpjb3V0PDxva1tNQVNLKG4pLTFdOwogICAgcmV0dXJuIDA7Cn0K