#include<bits/stdc++.h>
using namespace std;
const int MAXN=100005;

int a[MAXN],N,B[MAXN],dp[MAXN],last[MAXN],loncat[MAXN];

int DP(int now){
	if(now>N)return 0;
	int &ret=dp[now];
	if(ret!=-1)return ret;
	ret=DP(now+1);
	if(loncat[now-1])ret=max(ret,DP(loncat[now-1])+1);
	return ret;
}

int main(){
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n;
	cin >> n;
	for(int i=1;i<=n;i++)cin >> a[i];
	for(int i=1;i<=n;i++){
		if(i==n || a[i]!=a[i+1]){
			N++;
			B[N]=a[i];
		}
	}
	for(int i=1;i<=N;i++){
		if(last[B[i]]){
			loncat[last[B[i]]]=i;
		}
		last[B[i]]=i;
	}
	memset(dp,-1,sizeof(dp));
	cout << N-DP(2) << '\n';
	return 0;
}

