const ll maxn = 1e6 + 5; ll n, m, k, a[maxn], f[maxn][25];
intmain() { cin >> n >> m >> k; for (ll i = 1; i <= n; ++i) cin >> a[i]; for (ll i = 1; i <= n; ++i) a[i] += a[i - 1]; for (ll i = 0; i < 25; ++i) f[n + 1][i] = n + 1; for (ll i = n; i > 0; --i) { ll p = upper_bound(a + i, a + 1 + n, a[i - 1] + k) - a; f[i][0] = p; for (ll j = 1; j < 25; ++j) f[i][j] = f[f[i][j - 1]][j - 1]; } while (m--) { ll l, r, ans = 0; cin >> l >> r; for (ll i = 24; i >= 0; --i) if (f[l][i] <= r) l = f[l][i], ans += 1 << i; if (f[l][0] > r) cout << ans + 1 << endl; elsecout << "Chtholly" << endl; } return0; }