#include<iostream>
#include<algorithm>
#include<fstream>
#include<climits>
#include<iomanip>
#include<vector>
#define fr(i, zz, zzz) for (int i = zz; i <= zzz; i++)
#define ll long long
#define pii pair<int, int>
#define frr(i, zz, zzz) for (int i = zz; i >= zzz; i--)
#define full(asdf) memset(asdf, 0, sizeof(asdf))
#define st first
#define nd second
#define IOS ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
const int N = 1E5 + 10;
fstream f, g;
int n, Q, k, val;
pii a[N];
int cnt = 0, mx = 0;
pii vmax[N];
bool cmp (pii a, pii b) {
return a.st < b.st || (a.st == b.st && a.nd > b.nd);
}
void open(string s) {
string in = s + ".INP", out = s + ".OUT";
f.open(in, ios::in);
g.open(out, ios::out);
}
void close() {
f.close();
g.close();
}
void input() {
f >> n >> Q;
fr(i, 1, n)
f >> a[i].st;
}
int binary() {
int l = 0, r = k;
while ( l <= r) {
int m = (l + r) >> 1;
if (vmax[m].st < val)
l = m + 1;
else if (vmax[m].st >= val)
r = m - 1;
}
return l;
}
void pre_solve() {
int l[N], r[N];
fr(i, 1, n) {
l[i] = i - 1;
while(l[i] > 0 && a[l[i]].st <= a[i].st)
l[i] = l[l[i]];
}
frr(i, n, 1) {
r[i] = i + 1;
while (r[i] <= n && a[r[i]].st <= a[i].st)
r[i] = r[r[i]];
}
fr(i, 1, n)
a[i].nd = r[i] - l[i] - 1;
sort(a+1, a+n+1, cmp);
cnt = a[1].nd;
fr(i, 1, n) {
if (a[i].st == a[i+1].st)
cnt = max({cnt, a[i].nd, a[i+1].nd});
else {
vmax[++k] = {a[i].st, cnt};
cnt = a[i+1].nd;
}
}
int res = 0;
fr(i, 1, k)
vmax[i].nd = max(vmax[i - 1].nd, vmax[i].nd);
// fr(i, 1, k)
// cout << vmax[i].st << " " << vmax[i].nd << "\n";
}
int solve() {
int m = binary();
if (vmax[m].st > val)
--m;
// cout << vmax[m] << "\n";
return vmax[m].nd;
}
int main () {
IOS
open("CPACK");
input();
pre_solve();
int res;
vmax[k+1].st = 2000000000;
while (Q--) {
f >> val;
g << solve() << "\n";
}
close();
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8ZnN0cmVhbT4KI2luY2x1ZGU8Y2xpbWl0cz4KI2luY2x1ZGU8aW9tYW5pcD4KI2luY2x1ZGU8dmVjdG9yPgojZGVmaW5lIGZyKGksIHp6LCB6enopIGZvciAoaW50IGkgPSB6ejsgaSA8PSB6eno7IGkrKykKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwaWkgcGFpcjxpbnQsIGludD4KI2RlZmluZSBmcnIoaSwgenosIHp6eikgZm9yIChpbnQgaSA9IHp6OyBpID49IHp6ejsgaS0tKQojZGVmaW5lIGZ1bGwoYXNkZikgbWVtc2V0KGFzZGYsIDAsIHNpemVvZihhc2RmKSkKI2RlZmluZSBzdCBmaXJzdAojZGVmaW5lIG5kIHNlY29uZAojZGVmaW5lIElPUyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDFFNSArIDEwOwpmc3RyZWFtIGYsIGc7CmludCBuLCBRLCBrLCB2YWw7CnBpaSBhW05dOwppbnQgY250ID0gMCwgbXggPSAwOwpwaWkgdm1heFtOXTsKCmJvb2wgY21wIChwaWkgYSwgcGlpIGIpIHsKCXJldHVybiBhLnN0IDwgYi5zdCB8fCAoYS5zdCA9PSBiLnN0ICYmIGEubmQgPiBiLm5kKTsKfQp2b2lkIG9wZW4oc3RyaW5nIHMpIHsKCXN0cmluZyBpbiA9IHMgKyAiLklOUCIsIG91dCA9IHMgKyAiLk9VVCI7CglmLm9wZW4oaW4sIGlvczo6aW4pOwoJZy5vcGVuKG91dCwgaW9zOjpvdXQpOwp9CnZvaWQgY2xvc2UoKSB7CglmLmNsb3NlKCk7CglnLmNsb3NlKCk7Cn0KCnZvaWQgaW5wdXQoKSB7CglmID4+IG4gPj4gUTsKCWZyKGksIDEsIG4pCgkJZiA+PiBhW2ldLnN0Owp9CgppbnQgYmluYXJ5KCkgewoJaW50IGwgPSAwLCByID0gazsKCXdoaWxlICggbCA8PSByKSB7CgkJaW50IG0gPSAobCArIHIpID4+IDE7CgkJaWYgKHZtYXhbbV0uc3QgPCB2YWwpCgkJCWwgPSBtICsgMTsKCQllbHNlIGlmICh2bWF4W21dLnN0ID49IHZhbCkKCQkJciA9IG0gLSAxOwoJfQoJcmV0dXJuIGw7Cn0KCnZvaWQgcHJlX3NvbHZlKCkgewoJaW50IGxbTl0sIHJbTl07CglmcihpLCAxLCBuKSB7CgkJbFtpXSA9IGkgLSAxOwoJCXdoaWxlKGxbaV0gPiAwICYmIGFbbFtpXV0uc3QgPD0gYVtpXS5zdCkKCQkJbFtpXSA9IGxbbFtpXV07CgkJCgl9CglmcnIoaSwgbiwgMSkgewoJCXJbaV0gPSBpICsgMTsKCQl3aGlsZSAocltpXSA8PSBuICYmIGFbcltpXV0uc3QgPD0gYVtpXS5zdCkKCQkJcltpXSA9IHJbcltpXV07Cgl9CgkKCWZyKGksIDEsIG4pIAoJCWFbaV0ubmQgPSByW2ldIC0gbFtpXSAtIDE7CgoJc29ydChhKzEsIGErbisxLCBjbXApOwoJY250ID0gYVsxXS5uZDsKCWZyKGksIDEsIG4pIHsKCQlpZiAoYVtpXS5zdCA9PSBhW2krMV0uc3QpCgkJCWNudCA9IG1heCh7Y250LCBhW2ldLm5kLCBhW2krMV0ubmR9KTsKCQllbHNlIHsKCQkJdm1heFsrK2tdID0ge2FbaV0uc3QsIGNudH07CgkJCWNudCA9IGFbaSsxXS5uZDsKCQl9Cgl9CglpbnQgcmVzID0gMDsKCWZyKGksIDEsIGspCgkJdm1heFtpXS5uZCA9IG1heCh2bWF4W2kgLSAxXS5uZCwgdm1heFtpXS5uZCk7Ci8vCWZyKGksIDEsIGspCi8vCQljb3V0IDw8IHZtYXhbaV0uc3QgPDwgIiAiIDw8IHZtYXhbaV0ubmQgPDwgIlxuIjsKCQp9CgppbnQgc29sdmUoKSB7CglpbnQgbSA9IGJpbmFyeSgpOwoJaWYgKHZtYXhbbV0uc3QgPiB2YWwpCgkJLS1tOwovLwljb3V0IDw8IHZtYXhbbV0gPDwgIlxuIjsKCXJldHVybiB2bWF4W21dLm5kOwp9CgppbnQgbWFpbiAoKSB7CglJT1MKCW9wZW4oIkNQQUNLIik7CglpbnB1dCgpOwoJcHJlX3NvbHZlKCk7CglpbnQgcmVzOwoJdm1heFtrKzFdLnN0ID0gMjAwMDAwMDAwMDsKCXdoaWxlIChRLS0pIHsKCQlmID4+IHZhbDsKCQlnIDw8IHNvbHZlKCkgPDwgIlxuIjsKCX0KCWNsb3NlKCk7Cn0=