#include<bits/stdc++.h>
using namespace std;
#define maxn 1000001
int n,m,agp=0;
int a[maxn],l[maxn],r[maxn],num[maxn];
int last[maxn],ans[maxn];
int w[maxn];
inline void add(int x,int v)
{
for(int i=x;i<=n;i+=i&(-i)) w[i]+=v;
}
inline int sum(int x)
{
int cnt=0;
for(int i=x;i;i-=i&(-i)) cnt+=w[i];
return cnt;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>l[i]>>r[i];
num[i]=i;
}
sort(l+1,l+m+1);
sort(r+1,r+m+1);
for(int i=1;i<=m;i++)
{
for(int j=agp;j<=r[i];j++)
{
if(last[a[j]]) add(last[a[j]],-1);
add(j,1);
last[a[j]]=j;
}
agp=r[i]+1;
ans[num[i]]=sum(r[i])-sum(l[i]-1);
}
for(int i=1;i<=m;i++) cout<<ans[i]<<endl;
return 0;
}
记录?! 是什么问题