#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")