#include<bits/stdc++.h>
#define M 200005
#define Mod 1000000007
using namespace std;
int id=0,a[M],n;
long long dp[M],la[M];//到第i位的不同序列   最后以x结尾的序列 
int main(){
	memset(la,0,sizeof(la));
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	for(int i=1;i<=n;i++)if(a[i]!=a[i-1])a[++id]=a[i];
	dp[0]=1; 
	for(int i=1;i<=id;i++){
		int x=a[i];
		la[x]=(dp[i-1]+la[x])%Mod;
		dp[i]=la[x]; 
	}
	printf("%lld\n",dp[id]%Mod);
	return 0;
}