#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
long long n, m, q;
cin >> n >> m >> q;
vector<long long> l(m), r(m);
for (int i = 0; i < m; i++) {
cin >> l[i] >> r[i];
}
vector<long long> s(q);
for (int i = 0; i < q; i++) {
cin >> s[i];
}
vector<long long> gaps;
for (int i = 0; i + 1 < m; i++) {
long long left = max(l[i], l[i + 1]);
long long right = min(r[i], r[i + 1]);
if (left <= right) {
long long overlap = right - left + 1;
long long len_i = r[i] - l[i] + 1;
long long gap = len_i + l[i] - l[i + 1] - 1;
for (long long k = 0; k < overlap; k++) {
gaps.push_back(gap);
}
}
}
sort(gaps.begin(), gaps.end());
for (int i = 0; i < q; i++) {
long long ans = gaps.end() - lower_bound(gaps.begin(), gaps.end(), s[i]);
cout << ans << (i + 1 == q ? '\n' : ' ');
}
return 0;
}