#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld double
#define all(x) x.begin(), x.end()
#define ii pair<int, int>
#define pb push_back
#define X first
#define Y second
const int inf = 1e9;
const int mod = 1e9 + 7;
const int N = 1e5 + 5;
void file(){
freopen("baoloi.inp", "r", stdin);
freopen("baoloi.out", "w", stdout);
}
int n, qr;
ii a[N];
vector<int> q;
bool bad(int l1, int l2, int l3){
return 1ll * (a[l3].Y - a[l1].Y) * (a[l1].X - a[l2].X) < 1ll * (a[l2].Y - a[l1].Y) * (a[l1].X - a[l3].X);
}
void addLine(int i){
if(q.size() < 2) q.pb(i);
else{
while(q.size() >= 2 && bad(q[(int)q.size() - 2], q.back(), i)) q.pop_back();
q.pb(i);
}
}
ll solve(int x){
int l = 1, r = q.size() - 1, pos = 0;
while(l <= r){
int mid = (l + r) / 2;
if(1ll * a[q[mid]].X * x + a[q[mid]].Y > 1ll * a[q[mid - 1]].X * x + a[q[mid - 1]].Y){
r = mid - 1;
}
else{
pos = mid;
l = mid + 1;
}
}
return 1ll * a[q[pos]].X * x + a[q[pos]].Y;
}
int main(){
cin.tie(0) -> sync_with_stdio(0);
file();
cin >> n >> qr;
for(int i = 1; i <= n; ++i){
cin >> a[i].X >> a[i].Y;
}
sort(a + 1, a + n + 1, [&](ii x, ii y){return x.X > y.X;});
for(int i = 1; i <= n; ++i){
addLine(i);
}
int pointer = 0;
for(int i = 1; i <= qr; ++i){
int x; cin >> x;
cout << solve(x) << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBsbCAgbG9uZyBsb25nCiNkZWZpbmUgbGQgIGRvdWJsZQoKI2RlZmluZSBhbGwoeCkgIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIGlpICAgICAgcGFpcjxpbnQsIGludD4KCiNkZWZpbmUgcGIgIHB1c2hfYmFjawojZGVmaW5lIFggICBmaXJzdAojZGVmaW5lIFkgICBzZWNvbmQKCmNvbnN0IGludCAgIGluZiA9IDFlOTsKY29uc3QgaW50ICAgbW9kID0gMWU5ICsgNzsKY29uc3QgaW50ICAgTiAgID0gMWU1ICsgNTsKCnZvaWQgZmlsZSgpewogIGZyZW9wZW4oImJhb2xvaS5pbnAiLCAiciIsIHN0ZGluKTsKICBmcmVvcGVuKCJiYW9sb2kub3V0IiwgInciLCBzdGRvdXQpOwp9CgppbnQgbiwgcXI7CmlpIGFbTl07CnZlY3RvcjxpbnQ+IHE7Cgpib29sIGJhZChpbnQgbDEsIGludCBsMiwgaW50IGwzKXsKICByZXR1cm4gMWxsICogKGFbbDNdLlkgLSBhW2wxXS5ZKSAqIChhW2wxXS5YIC0gYVtsMl0uWCkgPCAxbGwgKiAoYVtsMl0uWSAtIGFbbDFdLlkpICogKGFbbDFdLlggLSBhW2wzXS5YKTsKfQoKdm9pZCBhZGRMaW5lKGludCBpKXsKICBpZihxLnNpemUoKSA8IDIpIHEucGIoaSk7CiAgZWxzZXsKICAgIHdoaWxlKHEuc2l6ZSgpID49IDIgJiYgYmFkKHFbKGludClxLnNpemUoKSAtIDJdLCBxLmJhY2soKSwgaSkpIHEucG9wX2JhY2soKTsKICAgIHEucGIoaSk7CiAgfQp9CgpsbCBzb2x2ZShpbnQgeCl7CiAgaW50IGwgPSAxLCByID0gcS5zaXplKCkgLSAxLCBwb3MgPSAwOwogIHdoaWxlKGwgPD0gcil7CiAgICBpbnQgbWlkID0gKGwgKyByKSAvIDI7CiAgICBpZigxbGwgKiBhW3FbbWlkXV0uWCAqIHggKyBhW3FbbWlkXV0uWSA+IDFsbCAqIGFbcVttaWQgLSAxXV0uWCAqIHggKyBhW3FbbWlkIC0gMV1dLlkpewogICAgICByID0gbWlkIC0gMTsKICAgIH0KICAgIGVsc2V7CiAgICAgIHBvcyA9IG1pZDsKICAgICAgbCA9IG1pZCArIDE7CiAgICB9CiAgfQogIHJldHVybiAxbGwgKiBhW3FbcG9zXV0uWCAqIHggKyBhW3FbcG9zXV0uWTsKfQoKaW50IG1haW4oKXsKICBjaW4udGllKDApIC0+IHN5bmNfd2l0aF9zdGRpbygwKTsKICBmaWxlKCk7CiAgY2luID4+IG4gPj4gcXI7CiAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpewogICAgY2luID4+IGFbaV0uWCA+PiBhW2ldLlk7CiAgfQogIHNvcnQoYSArIDEsIGEgKyBuICsgMSwgWyZdKGlpIHgsIGlpIHkpe3JldHVybiB4LlggPiB5Llg7fSk7CiAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpewogICAgYWRkTGluZShpKTsKICB9CiAgaW50IHBvaW50ZXIgPSAwOwogIGZvcihpbnQgaSA9IDE7IGkgPD0gcXI7ICsraSl7CiAgICBpbnQgeDsgY2luID4+IHg7CiAgICBjb3V0IDw8IHNvbHZlKHgpIDw8ICdcbic7CiAgfQogIHJldHVybiAwOwp9Cg==