#include<bits/stdc++.h>
#include <bitset>
#include <queue>
#include <unordered_set>
using namespace std;
using ll = long long;
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops")
#define ALL(v) v.begin(),v.end()
typedef long long ll;
#define V vector

int init = []() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    return 0;
}();


int main() {
    ll m, n; cin >> m >> n;
    unordered_set<ll> nums;
    queue<ll> que;
    ll ans = 0;
    ll temp = n;;
    while (temp--){
        ll num; cin >> num;
        if (nums.insert(num).second){
            que.push(num);
            if (nums.size() == m + 1){
                nums.erase(que.front());
                que.pop();
            }
        } 
        else ans++;
    }
    cout << n - ans;
}