#include<cstdio>
typedef long long ll;
int n,m,r,ans,a[35],b[35];
void dfs(int k,int cnt,int now){
if(k>r){
if(cnt<=m)ans++;
return;
}
if(cnt>m)return;
for(int i=now+1;i<=n;i++)
dfs(k+1,cnt+a[i],i);
}
ll fac(int x){
int pro=1;
for(int i=2;i<=x;i++)
pro*=i;
return pro;
}
ll A(int x,int y){
int pro=1;
for(int i=x;i>x-y;i--)
pro*=i;
return pro;
}
ll C(int x,int y){
return A(x,y)/fac(y);
}
int main(){
scanf("%d%d%d",&n,&r,&m);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
dfs(1,0,0);
printf("%d\n",C(n,r)-ans);
return 0;
}