#include <iostream>
using namespace std;
int vis[1002],temp[1002];//vis指这个数字是否已经缓存;temp指目前最新的存储单词;
int main() {
    int M,count=0,N,tempPos=0;//M,N题目已经给出,count指已经存储几个数据,tempPos表示temp开到几;
    cin>>M>>N;
    int op,sum=0;//op为当前输入序号,sum指查过几次;
    while(N--){
        cin>>op;
        if(vis[op]==1){
            continue;//已经缓存,次数加1后,直接下一轮;
        }
        sum++;
    if(count>=M){
        vis[temp[tempPos-M]]=0;//不断的更新temp库元素;
        vis[op]=1;
        temp[tempPos++]=op;
    }
    else{
        vis[op]=1;
        temp[tempPos++]=op;
        count++;
    }
    }
    cout<<sum<<endl;
    return 0;
}
// 64 位输出请用 printf("%lld")