#P1418G. Three Occurrences

    ID: 1207 Type: RemoteJudge 5000ms 512MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>data structuresdivide and conquerhashingtwo pointers*2500

Three Occurrences

No submission language available for this problem.

Description

You are given an array aa consisting of nn integers. We denote the subarray a[l..r]a[l..r] as the array [al,al+1,,ar][a_l, a_{l + 1}, \dots, a_r] (1lrn1 \le l \le r \le n).

A subarray is considered good if every integer that occurs in this subarray occurs there exactly thrice. For example, the array [1,2,2,2,1,1,2,2,2][1, 2, 2, 2, 1, 1, 2, 2, 2] has three good subarrays:

  • a[1..6]=[1,2,2,2,1,1]a[1..6] = [1, 2, 2, 2, 1, 1];
  • a[2..4]=[2,2,2]a[2..4] = [2, 2, 2];
  • a[7..9]=[2,2,2]a[7..9] = [2, 2, 2].

Calculate the number of good subarrays of the given array aa.

The first line contains one integer nn (1n51051 \le n \le 5 \cdot 10^5).

The second line contains nn integers a1a_1, a2a_2, ..., ana_n (1ain1 \le a_i \le n).

Print one integer — the number of good subarrays of the array aa.

Input

The first line contains one integer nn (1n51051 \le n \le 5 \cdot 10^5).

The second line contains nn integers a1a_1, a2a_2, ..., ana_n (1ain1 \le a_i \le n).

Output

Print one integer — the number of good subarrays of the array aa.

Samples

Sample Input 1

9
1 2 2 2 1 1 2 2 2

Sample Output 1

3

Sample Input 2

10
1 2 3 4 1 2 3 1 2 3

Sample Output 2

0

Sample Input 3

12
1 2 3 4 3 4 2 1 3 4 2 1

Sample Output 3

1