#include <iostream>
#include <queue>
using namespace std;
// 机器翻译,根据单词查找释义,缓存无,找外存,然后插入缓存中,如果缓存未满,则直接插入,满了,则删掉最早进入,然后插入最新,求在外存查字典的次数
const int MAXN = 1007;
int main() {
//在确保不超过队列长度的情况下,使用缓存,且有相同单词(如何遍历队列中的数字?so 使用序列吧)时不处理
//给定单词数量和缓存容量,单词可用数组存,缓存直接队列存
int m, n;
int w[MAXN];
int aim = 0;
cin >> m >> n;
vector<int> q;
for (int i = 0 ; i < n ; i++){
cin >> w[i];
int cnt = q.size();
//在确保不超过队列长度的情况下,使用缓存,且有相同单词(如何遍历队列中的数字?so 使用序列吧)时不处理
if ( q.empty()){
q.push_back(w[i]);
aim ++;
continue;
}
int flag = 0;
for (int j = 0; j < cnt ; j++){
if( q[j] == w[i]){
flag = 1;
break;
}
}
if (flag == 1) continue;
if (cnt == m)
q.erase(q.begin());
q.push_back(w[i]);
aim++;
//缓存满,进行移除最旧单词
}
cout << aim;
return 0;
}
// 64 位输出请用 printf("%lld")