#include using namespace std; using ll = long long; #define reps(i, a, n) for(ll i = (a); i < (ll)(n); ++i) #define rep(i,n) reps(i,0,n) #define all(a) (a).begin(), (a).end(); //なんかstd::vectorの挙動を修正できるやつ /* alias */ using ull = unsigned long long; using ll = long long; using vi = vector; using vl = vector; using vll = vector; using vvi = vector; using vvl = vector; using vvll = vector; using vs = vector; using pii = pair; template<> struct std::vector: std::basic_string { using std::basic_string::basic_string, std::basic_string::operator =; explicit vector(size_t n): vector(n, false) {} }; int main(){ int n, k; cin >> n >> k; vi a(n); rep(i,n) cin >> a[i]; sort(a.begin(), a.end()); set x; rep(i,k) x.insert(a[i]); cout << x.size() << endl; }