#include<atcoder/segtree>#include<bits/stdc++.h>usingnamespacestd;usingnamespaceatcoder;longlongop(longlonga,longlongb){returna+b;}longlonge(){return0;}voidsolve(){intn;cin>>n;vector<pair<int,int>>a(n);for(inti=0;i<n;i++){intnow;cin>>now;a[i]={now,i};}sort(a.begin(),a.end());intq;cin>>q;vector<pair<int,pair<int,int>>>store(q);vector<pair<int,int>>queries(q);vector<longlong>ans(q);for(inti=0;i<q;i++){intL,R,x;cin>>L>>R>>x;L--;R--;store[i]={L,{R,x}};queries[i]={x,i};}sort(queries.begin(),queries.end());intind=0;// For atcoder's segtree, prod(l, r) returns sum(l ... r - 1).
// Hence we add +1 to make inclusive range.
segtree<longlong,op,e>st(n+5);for(inti=0;i<q;i++){intx=queries[i].first;intq_ind=queries[i].second;intL=store[q_ind].first;intR=store[q_ind].second.first;while(ind<n&&a[ind].first<=x){st.set(a[ind].second,a[ind].first);ind++;}ans[q_ind]=st.prod(L,R+1);}for(inti=0;i<q;i++){cout<<ans[i]<<"\n";}}intmain(){intt;cin>>t;for(intzz=0;zz<t;zz++){solve();}return0;}