#include <bits/stdc++.h>
#define endl '\n'
typedef long long ll;
using namespace std;
const int N = 2e5 + 5;
int n, m, k;
ll a[N], tree[N];
ll lowbit(ll x) {
return x & (-x);
}
void add(ll pos, ll val) {
for (int i = pos; i <= N; i += lowbit(i)) {
tree[i] += val;
}
}
ll sum (ll pos) {
ll ans = 0;
for (int i = pos; i >= 1; i -= lowbit(i)) {
ans += tree[i];
}
return ans;
}
void solve() {
cin >> n >> m >> k;
for (int i = 1; i <= n; ++i) {
int x, y; cin >> x >> y;
int l = x - y + 1 - k;
int r = x - k;
if (r < 1) continue;
if (r >= 1 && l < 1) l = 1;
add(l, 1); add(r+1, -1);
}
for (int i = 0; i < m; ++i) {
int x; cin >> x;
cout << sum(x) << endl;
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
solve();
return 0;
}