#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;
}