#include <bits/stdc++.h>
using namespace std;
#define fastio ios::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr);
#define ll long long
#define int ll
const int mxn = (int)2e5+7;
const int MOD = 998244353;
#define isON(n, k) (((n) >> (k)) & 1)

void GETAC(){

    int n, k, q;
    cin >> n >> k;
    vector<int> a(n);
    for (int& i : a) cin >> i;

    cin >> q;
    vector<int> pre(n+1); // preprocess subarray sums
    for (int i(1); i <= n; ++i)
        pre[i] = pre[i-1] + a[i-1];

    while (q--)
    {

        int L, R, ans(0);
        cin >> L >> R;
        /*
         *  for (int l(L); l <= R; ++l) 
                for (int r(l); r <= R; ++r) 
                    if (pre[r] - pre[l-1] == k) 
                        ++ans;
         * 
         */
        map<int, int> f; // key : sum, value : frequency sum appears
        f[pre[L-1]] = 1;
        for (int r(L); r <= R; ++r) { // right ends
            if (pre[r] - k >= 0)
                ans += f[pre[r] - k]; // left ends satisfy pre[r] - pre[l-1] == k
            ++f[pre[r]];
        }
        cout << ans << '\n';
    }
}

signed main()
{
    fastio
    int t(1); cin >> t;
    while(t--) GETAC(), cout << '\n';
}

