#define _USE_MATH_DEFINES #include using namespace std; signed main() { ios::sync_with_stdio(false); cin.tie(0); int n, q; cin >> n >> q; vector> v; for (int i = 0; i < n; i++) { int x, w; cin >> x >> w; v.push_back({x, w, 0}); } v.push_back({0, 0, 0}); v.push_back({(int) 1e9 + 1, 0, 0}); for (int i = 0; i < q; i++) { int x; cin >> x; v.push_back({x, i, 1}); } sort(v.begin(), v.end()); vector pref((int) v.size()); vector ans(q); long long w_tot = 0; for (int i = 1; i < (int) v.size(); i++) { pref[i] = pref[i - 1] + w_tot * (v[i][0] - v[i - 1][0]); if (v[i][2] == 0) { w_tot += v[i][1]; } else { ans[v[i][1]] += pref[i]; } } vector suff((int) v.size()); w_tot = 0; for (int i = (int) v.size() - 2; i >= 1; i--) { suff[i] = suff[i + 1] + w_tot * (v[i + 1][0] - v[i][0]); if (v[i][2] == 0) { w_tot += v[i][1]; } else { ans[v[i][1]] += suff[i]; } } for (auto& p : ans) { cout << p << '\n'; } return 0; }