#include <bits/stdc++.h>   using namespace std;   const int mod = 1e9 + 7, inf = 1061109567;   const long long infll = 4557430888798830399;   const int N = 2e5 + 5;   int n, q, a[N], cnt[N];   bool last[N], first[N];   vector<int> app[N];   bool start[N];   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     cin >> n >> q;     for (int i = 0; i < n; i++) cin >> a[i];     for (int i = 0; i < n; i++) app[a[i]].push_back(i);     for (int i = 0; i < N; i++)       if (app[i].size()) {         first[app[i][0]] = 1;         last[app[i].back()] = 1;       }     int thing = 0;     memset(start, 0, sizeof start);     start[0] = 1;     for (int i = 0; i < n; i++) {       if (first[i]) thing++;       if (last[i]) thing--;       if (!thing) start[i + 1] = 1;     }     int ans = 0;     int cur = 0;     while (cur < n) {       int nxt = n - 1;       for (int i = cur + 1; i < n; i++)         if (start[i]) {           nxt = i - 1;           break;         }       int lolMax = 0;       for (int i = cur; i < nxt + 1; i++) {         cnt[a[i]]++;         lolMax = max(lolMax, cnt[a[i]]);       }       ans += lolMax;       for (int i = cur; i < nxt + 1; i++) cnt[a[i]]--;       cur = nxt + 1;     }     cout << n - ans;     return 0;   }   