길이가 $N$인 수열 $A_1, A_2, \ldots, A_N$이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.
i j: $A_i, A_{i+1}, \ldots, A_j$에 존재하는 서로 다른 수의 개수를 출력한다.
입력
첫째 줄에 수열의 크기 $N$ ($1 \le N \le 100{,}000$)이 주어진다.
둘째 줄에는 $A_1, A_2, \ldots, A_N$이 주어진다. ($1 \le A_i \le 1{,}000{,}000$)
셋째 줄에는 쿼리의 개수 $M$ ($1 \le M \le 100{,}000$)이 주어진다.
넷째 줄부터 $M$개의 줄에는 쿼리 $i, j$가 한 줄에 하나씩 주어진다. ($1 \le i \le j \le N$)
출력
각각의 쿼리마다 정답을 한 줄에 하나씩 출력한다.
Sample
Input
5 1 1 2 1 3 3 1 5 2 4 3 5
Output
3 2 3