#include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace mp = boost::multiprecision; using Bint = mp::cpp_int; using namespace std; using ll = long long; int main() { int n, k; cin >> n >> k; vector a(n); map mp; for(int i = 0; i < n; i++) { cin >> a[i]; } for(int bit = 0; bit < (1 << n); bit++) { int cnt = 0; Bint s = 0, m = 1; for(int i = 0; i < n; i++) { if(bit & (1 << i)) { cnt++; s += a[i]; m *= a[i]; } } if(cnt >= k) { mp[s]++; mp[m]++; } } cout << mp.size() << endl; return 0; }