#include<iostream>
using namespace std;
const int N=1010;
int m,n;
int d[N];
int ans;
int main()
{
cin>>m>>n;//输入内存大小和字长
for(int i=1;i<=n;i++)//i表示次数,也表示进入内存的时间
{
int x;
cin>>x;
if(d[x])continue;//如果当前内存中存在要查找的内容,则进入下一次搜索
ans++;
if(m)
m--,d[x]=i;//此时的x一定没有在内存中,故内存减小,且内存还足够
else//此刻内存已不足
{
int min=i,pos=0;
for(int j=0;j<=N;j++)
if(d[j]&&min>d[j])//寻找进入内存时间最小的元素,pos记录此元素,因为存在于内存中,故d[j]!=0
min=d[j],pos=j;
d[pos]=0,d[x]=i;//将最早进入内存的元素清除,新进入的元素更新
}
}
cout<<ans;
return 0;
}