#include <iostream>
using namespace std;
typedef struct node{
int element;
struct node* next;
}Node;
bool isExit(Node* header,int key){
Node *p;
p = header;
int flag=0;
while(p->next!=NULL){
if(p->next->element==key)
flag=1;
p=p->next;
}
if(flag==0)
return false;
else
return true;
}
void insertNode(Node* header,int x){
Node* p=header;
Node* tmp=new Node;
tmp->element=x;
tmp->next=NULL;
while(p->next!=NULL){
p=p->next;
}
p->next=tmp;
}
void insertFirst(Node* header,int x){
Node* tmp=new Node;
tmp->next=header->next;
header->next=tmp;
tmp->element=x;
}
void Delete(Node* header){
Node* p1=header->next;
Node* p2=p1->next;
header->next=p2;
free(p1);
}
int Size(Node* header){
int count=0;
Node* p=header;
while(p->next!=NULL){
count++;
p=p->next;
}
return count;
}
int main() {
int m,n;
cin>>m>>n;
Node *header=new Node;
int count=0;
if(m==1){
int letter=-1;
for(int i=1;i<=n;i++){
int tmp;
cin>>tmp;
if(tmp!=letter){
letter=tmp;
count++;
}
}
}
else{
for(int i=1;i<=n;i++){
int letter;
cin>>letter;
if (i == 1) {
insertNode(header,letter);
count++;
}
else {
if(isExit(header,letter)){}
else{
if(Size(header)<m){
insertNode(header,letter);
count++;
}
else{
Delete(header);
insertFirst(header,letter);
count++;
}
}
}
}
}
cout<<count<<endl;
}