NumberEater

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

NumberEater는 바이트랜드에서 유명한 괴물이다. 이 괴물은 숫자를 먹지만 입맛이 매우 까다로워서, 매일 먹는 식사가 서로 달라야 한다. 괴물에게는 정수 수열 a1,a2,,ana_1, a_2, \ldots, a_n이 주어진다. 괴물은 시작 위치 ii와 끝 위치 jj (1ijn1 \le i \le j \le n)를 골라, 원소 ai,ai+1,,aja_i, a_{i+1}, \ldots, a_j로 이루어진 식사를 준비한다.

괴물은 두 식사 [i1,j1][i_1, j_1][i2,j2][i_2, j_2]가 담고 있는 숫자의 집합이 서로 같으면, 두 식사를 같은 것으로 여긴다. 즉,

{ak:i1kj1}={ak:i2kj2}\{a_k : i_1 \le k \le j_1\} = \{a_k : i_2 \le k \le j_2\}

수열 aa를 이용해 NumberEater가 준비할 수 있는 서로 다른 식사의 개수를 세어 주자.

입력

첫째 줄에 수열 aa의 길이인 정수 nn (1n5001 \le n \le 500)이 주어진다. 이어지는 nn개의 줄에는 수열의 원소가 한 줄에 하나씩 주어진다. 각 원소는 11 이상 500500 이하이다.

출력

NumberEater가 준비할 수 있는 서로 다른 식사의 개수를 한 줄에 출력한다.