#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define deb(x) cout << #x << " " << x << endl;
#define PI 3.14159265358979323846264338327950L
#define fi(i,a,b) for(int i = a; i<b; i++)
#define ull unsigned long long
#define all(x) x.begin(), x.end()
#define ll long long int
#define ld long double
#define pii pair<int, int>
#define F first
#define S second
#define vi vector<int>
#define N 1000000007
#define endl "\n"
#define pb push_back
#define mp make_pair
using namespace std;

int main() {

	int n; cin >> n; vi arr(n); set<int> s; ll sum = 0;
	fi(i, 0, n) {cin >> arr[i];}

	int j=0;
	fi(i, 0, n) {

		while (j < n && s.find(arr[j]) == s.end()) {
			s.insert(arr[j]); j++;
		}
		sum += ((j - i) * (j - i + 1)) / 2; s.erase(arr[i]);
	}
	cout << sum % N << endl;

	return 0;
}