

java
import java.util.*;
public class XiaomingLoseWeight {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] ints = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
int n=ints[0],t=ints[1],k=ints[2];
int[] arrs = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
int[] used = new int[n];
Arrays.sort(arrs);
dfs(arrs,used,0,t,k);
System.out.println(cnt);
}
private static int cnt = 0;
private static void dfs(int[] arrs,int[] used ,int start, int t, int k) {
if(t==0 && k==0){
cnt++;
}
for (int i = start; i < arrs.length; i++) {
if(i<arrs.length-1&& arrs[i+1]==arrs[i]&&used[i]==0){
continue;
}
used[i] = 1;
dfs(arrs,used,start+1,t-arrs[i],k-1);
used[i]=0;
}
}
}