#include <bits/stdc++.h>
using namespace std;
#define sonic ios_base::sync_with_stdio(false);cin.tie(0); cout.tie(0)
#define IO(main) if(fopen(main".inp","r")){freopen(main".inp","r",stdin);freopen(main".out","w",stdout);}
#define pb push_back
#define fi first
#define se second
#define mp make_pair
#define ins insert
#define pb push_back
#define el cout << endl
#define SZ(x) ((int)(x).size())
#define ALL(x) (x).begin(), (x).end()
#define MASK(i) ((1LL)<<(i))
#define BIT(x,i) (((x)>>(i))&(1LL))
#define FOR(i, a, b) for(int (i)=(a);(i)<=(b); i++)
#define FORD(i, a, b) for(int (i)=(a);(i)>=(b); i--)
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using vi = vector<int>;
using vii = vector<pii>;
const int N = 1e5 + 9;
const int mod = 1e9 + 7;
const int INF = 1e9 + 7;
const int base = 31;
const int LOG = 20;
template<class X, class Y> bool maximize(X &x, Y y){ if (x < y) {x = y; return true;} return false;};
template<class X, class Y> bool minimize(X &x, Y y){ if (x > y) {x = y; return true;} return false;};
void add(int &x, int y) { x += y; if (x>=mod) x-=mod;}
void sub(int &x, int y) { x -= y; if (x<0) x+=mod;}
int mul(int x, int y) {return 1LL * x * y % mod;}
int calPw(int x, int y)
{
int ans = 1;
while(y)
{
if (y&1) ans = 1LL * ans * x % mod;
x = 1LL * x * x % mod;
y >>= 1;
}
return ans;
}
int d4x[4] = {1, 0, -1, 0};
int d4y[4] = {0, 1, 0, -1};
int d8x[8] = {0, 1, 1, 1, 0, -1, -1, -1};
int d8y[8] = {1, 1, 0, -1, -1, -1, 0, 1};
///Author: Deruck Phung, Luong The Vinh High School for the Gifted
int n, q, m;
int a[N];
int par[N][40];
//Code
bool check(int l, int r, int v){
int Ans = 0;
FORD(i, 30, 0) if(BIT(v, i)) l = par[l][i];
return l >= r;
}
void Solve(){
int iter = 1;
ll Ans = 0;
FOR(i, 1, n){
Ans += a[i];
while(iter < i && Ans > m){
Ans -= a[iter];
iter++;
}
par[i][0] = iter - 1;
}
FOR(i, 1, n) FOR(j, 1, 30){
par[i][j] = par[par[i][j - 1]][j - 1];
}
while(q--){
int u, v;
cin >> u >> v;
FORD(i, 30, 0) if(BIT(v, i)){
u = par[u][i];
}
cout << u + 1 << "\n";
}
}
void Read(){
cin >> n >> q >> m;
FOR(i, 1, n){
cin >> a[i];
}
}
int main()
{
sonic;
IO("main");
int TEST = 1;
while(TEST--)
{
Read();
Solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIHNvbmljIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoMCk7IGNvdXQudGllKDApCiNkZWZpbmUgSU8obWFpbikgaWYoZm9wZW4obWFpbiIuaW5wIiwiciIpKXtmcmVvcGVuKG1haW4iLmlucCIsInIiLHN0ZGluKTtmcmVvcGVuKG1haW4iLm91dCIsInciLHN0ZG91dCk7fQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgaW5zIGluc2VydAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGVsIGNvdXQgPDwgZW5kbAojZGVmaW5lIFNaKHgpICgoaW50KSh4KS5zaXplKCkpCiNkZWZpbmUgQUxMKHgpICh4KS5iZWdpbigpLCAoeCkuZW5kKCkKI2RlZmluZSBNQVNLKGkpICgoMUxMKTw8KGkpKQojZGVmaW5lIEJJVCh4LGkpICgoKHgpPj4oaSkpJigxTEwpKQojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IoaW50IChpKT0oYSk7KGkpPD0oYik7IGkrKykKI2RlZmluZSBGT1JEKGksIGEsIGIpIGZvcihpbnQgKGkpPShhKTsoaSk+PShiKTsgaS0tKQoKCnVzaW5nIGxsID0gbG9uZyBsb25nOwp1c2luZyB1bGwgPSB1bnNpZ25lZCBsb25nIGxvbmc7CnVzaW5nIGxkID0gbG9uZyBkb3VibGU7Cgp1c2luZyBwaWkgPSBwYWlyPGludCwgaW50PjsKdXNpbmcgcGxsID0gcGFpcjxsbCwgbGw+Owp1c2luZyB2aSA9IHZlY3RvcjxpbnQ+Owp1c2luZyB2aWkgPSB2ZWN0b3I8cGlpPjsKCmNvbnN0IGludCBOID0gMWU1ICsgOTsKY29uc3QgaW50IG1vZCA9IDFlOSArIDc7CmNvbnN0IGludCBJTkYgPSAxZTkgKyA3Owpjb25zdCBpbnQgYmFzZSA9IDMxOwpjb25zdCBpbnQgTE9HID0gMjA7Cgp0ZW1wbGF0ZTxjbGFzcyBYLCBjbGFzcyBZPiBib29sIG1heGltaXplKFggJngsIFkgeSl7IGlmICh4IDwgeSkge3ggPSB5OyByZXR1cm4gdHJ1ZTt9IHJldHVybiBmYWxzZTt9Owp0ZW1wbGF0ZTxjbGFzcyBYLCBjbGFzcyBZPiBib29sIG1pbmltaXplKFggJngsIFkgeSl7IGlmICh4ID4geSkge3ggPSB5OyByZXR1cm4gdHJ1ZTt9IHJldHVybiBmYWxzZTt9Owp2b2lkIGFkZChpbnQgJngsIGludCB5KSB7IHggKz0geTsgaWYgKHg+PW1vZCkgeC09bW9kO30Kdm9pZCBzdWIoaW50ICZ4LCBpbnQgeSkgeyB4IC09IHk7IGlmICh4PDApIHgrPW1vZDt9CmludCBtdWwoaW50IHgsIGludCB5KSB7cmV0dXJuIDFMTCAqIHggKiB5ICUgbW9kO30KaW50IGNhbFB3KGludCB4LCBpbnQgeSkKewogICAgaW50IGFucyA9IDE7CiAgICB3aGlsZSh5KQogICAgewogICAgICAgIGlmICh5JjEpIGFucyA9IDFMTCAqIGFucyAqIHggJSBtb2Q7CiAgICAgICAgeCA9IDFMTCAqIHggKiB4ICUgbW9kOwogICAgICAgIHkgPj49IDE7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CmludCBkNHhbNF0gPSB7MSwgMCwgLTEsIDB9OwppbnQgZDR5WzRdID0gezAsIDEsIDAsIC0xfTsKaW50IGQ4eFs4XSA9IHswLCAxLCAxLCAxLCAwLCAtMSwgLTEsIC0xfTsKaW50IGQ4eVs4XSA9IHsxLCAxLCAwLCAtMSwgLTEsIC0xLCAwLCAxfTsKLy8vQXV0aG9yOiBEZXJ1Y2sgUGh1bmcsIEx1b25nIFRoZSBWaW5oIEhpZ2ggU2Nob29sIGZvciB0aGUgR2lmdGVkCmludCBuLCBxLCBtOwppbnQgYVtOXTsKaW50IHBhcltOXVs0MF07Ci8vQ29kZQpib29sIGNoZWNrKGludCBsLCBpbnQgciwgaW50IHYpewogICAgaW50IEFucyA9IDA7CiAgICBGT1JEKGksIDMwLCAwKSBpZihCSVQodiwgaSkpIGwgPSBwYXJbbF1baV07CgogICAgcmV0dXJuIGwgPj0gcjsKfQoKdm9pZCBTb2x2ZSgpewogICAgaW50IGl0ZXIgPSAxOwogICAgbGwgQW5zID0gMDsKICAgIEZPUihpLCAxLCBuKXsKICAgICAgICBBbnMgKz0gYVtpXTsKICAgICAgICB3aGlsZShpdGVyIDwgaSAmJiBBbnMgPiBtKXsKICAgICAgICAgICAgQW5zIC09IGFbaXRlcl07CiAgICAgICAgICAgIGl0ZXIrKzsKICAgICAgICB9CiAgICAgICAgcGFyW2ldWzBdID0gaXRlciAtIDE7CiAgICB9CgogICAgRk9SKGksIDEsIG4pIEZPUihqLCAxLCAzMCl7CiAgICAgICAgcGFyW2ldW2pdID0gcGFyW3BhcltpXVtqIC0gMV1dW2ogLSAxXTsKICAgIH0KCiAgICB3aGlsZShxLS0pewogICAgICAgIGludCB1LCB2OwogICAgICAgIGNpbiA+PiB1ID4+IHY7CiAgICAgICAgRk9SRChpLCAzMCwgMCkgaWYoQklUKHYsIGkpKXsKICAgICAgICAgICAgdSA9IHBhclt1XVtpXTsKICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgdSArIDEgPDwgIlxuIjsKICAgIH0KfQoKdm9pZCBSZWFkKCl7CiAgICBjaW4gPj4gbiA+PiBxID4+IG07CiAgICBGT1IoaSwgMSwgbil7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgc29uaWM7CiAgICBJTygibWFpbiIpOwogICAgaW50IFRFU1QgPSAxOwogICAgd2hpbGUoVEVTVC0tKQogICAgewogICAgICAgIFJlYWQoKTsKICAgICAgICBTb2x2ZSgpOwogICAgfQp9CgoKCg==