#include<bits/stdc++.h>
using namespace std;
map<int, vector<int> > m;
map<int, int> mm;
int tot=0;
int f1(int x, int y)
{
if (mm.find(x)==mm.end())
{
return -1;
}
int l=0, r=m[x].size()-1, ans=-1;
while (l<=r)
{
tot++;
int mid=(l+r)/2;
if (m[x][mid]>=y)
{
ans=mid;
r=mid-1;
}
else
{
l=mid+1;
}
}
return ans;
}
int f2(int x, int y)
{
if (mm.find(x)==mm.end())
{
return -1;
}
int l=0, r=m[x].size()-1, ans=-1;
while (l<=r)
{
int mid=(l+r)/2;
if (m[x][mid]<=y)
{
ans=mid;
l=mid+1;
}
else
{
r=mid-1;
}
}
return ans;
}
int main()
{
int t;
cin>>t;
for (int i=1;i<=t;i++)
{
m.clear();
mm.clear();
int n;
cin>>n;
for (int j=1;j<=n;j++)
{
int a;
cin>>a;
m[a].push_back(j);
mm[a]=11111;
}
int q;
cin>>q;
for (int j=1;j<=q;j++)
{
int l, r, x;
cin>>l>>r>>x;
int ll=f1(x, l);
int rr=f2(x, r);
if (ll==-1||rr==-1)
{
cout<<0<<endl;
continue;
}
cout<<rr-ll+1<<endl;
}
}
return 0;
}