#include #include #include #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; set st; Bint a[20]; int main() { int n, k; cin >> n >> k; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < (1 << n); i++) { int co = 0; Bint p = 0, m = 1; for (int j = 0; j < n; j++) { if ((1 << j) & i) { p += a[j]; m *= a[j]; co++; } } if (co >= k) { st.insert(p); st.insert(m); } } cout << st.size() << endl; }