#include<bits/stdc++.h>
using namespace std;
const int N=2e2+10;
int n,m,w[N],f[10200000],mx=-1;
void dfs(int kind,int num,int all,int now)
{
if(kind>m || all>n)return ;
f[now]=1;
mx=max(mx,now);
if(num+1<=n)dfs(kind,num+1,all+1,now+w[kind]);
dfs(kind+1,0,all,now);
}
int main()
{
cin>>m>>n;
for(int i=1;i<=m;i++)cin>>w[i];
sort(w+1,w+m+1);
dfs(1,0,0,0);
int ans=0,cnt=0;
for(int i=1;i<=mx;i++)
{
if(f[i]==0)
{
ans=max(cnt,ans);
cnt=0;
}
else
{
cnt++;
}
}
cout<<ans;
return 0;
}