import sys def II(): return int(sys.stdin.readline()) def LI(): return list(map(int, sys.stdin.readline().split())) def LC(): return list(input()) def IC(): return [int(c) for c in input()] def MI(): return map(int, sys.stdin.readline().split()) INF = float('inf') def solve(): N,K = MI() A = LI() from collections import defaultdict Num = defaultdict(lambda: 0) for i in range(2**N): Cook = [] for j in range(N): if((i>>j) & 1): Cook.append(A[j]) if(len(Cook)>=K): Num[sum(Cook)] = 1 Tmp = 1 for c in Cook: Tmp*=c Num[Tmp] = 1 Ans = list(Num.keys()) print(len(Ans)) return solve()