#!/usr/bin/env python3 from typing import * def solve(n: int, k: int, a: List[int]) -> int: constructed = [] for x in range(2 ** n): s = 0 p = 1 popcount = 0 for i in range(n): if x & (1 << i): s += a[i] p *= a[i] popcount += 1 if k <= popcount: constructed.append(s) constructed.append(p) return len(set(constructed)) # generated by oj-template v4.7.2 (https://github.com/online-judge-tools/template-generator) def main(): import sys tokens = iter(sys.stdin.read().split()) N = int(next(tokens)) K = int(next(tokens)) A = [None for _ in range(N)] for i in range(N): A[i] = int(next(tokens)) assert next(tokens, None) is None a = solve(N, K, A) print(a) if __name__ == '__main__': main()