/* paiza POH! Vol.1
* result:
* http://p...content-available-to-author-only...a.jp/poh/ec-campaign/result/eaff529ae4d6a00ebf3f808dbe80ab31
* author: Leonardone @ NEETSDKASU
*/
#include <stdio.h>
#include <stdlib.h>
#define PMAX (1000000)
#define PC(c) putchar(c)
#define PD(d) printf("%d\n", d)
#define PS(s) printf("%s\n", s)
#define SUMCHECK(tmp, sum, i, u, m) \
sum = i + u; \
if (sum > tmp) { \
tmp = sum; \
if (tmp == m) break; \
}
int list[PMAX + 1] = {0};
char str[10] = {'\n'};
inline int gc(void) {
register int c, n = 0;
do {
} while ((c < '0') || (c > '9'));
do {
n = n * 10 + (c - '0');
} while ((c >= '0') && (c <= '9'));
return n;
}
inline void pi(register int n) {
register int t, i = 1;
do {
t = n / 10;
str[i] = n - t * 10 + '0';
++i; n = t;
} while (n > 0);
do {
PC(str[--i]);
} while (i);
}
int main(void) {
register int j, i, u, sum, tmp;
int n, d, m, p;
n = gc();
d = gc();
j = n + 1;
while (--j) {
++list[gc()];
}
++list[9];
j = d + 1;
while (--j) {
i = m = gc();
tmp = 0;
do {
--i;
while(!list[i]) --i;
if ((u = m - i) > i) break;
if (u > 9) {
if (i == u) {
if (list[i] > 1) {
SUMCHECK(tmp, sum, i, u, m);
} else {
--u;
while (!list[u]) --u;
if (u > 9) {
SUMCHECK(tmp, sum, i, u, m);
}
}
} else {
while (!list[u]) --u;
if (u > 9) {
SUMCHECK(tmp, sum, i, u, m);
}
}
}
} while (1);
pi(tmp);
}
return 0;
}
LyogcGFpemEgUE9IISBWb2wuMQogKiByZXN1bHQ6CiAqIGh0dHA6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLmpwL3BvaC9lYy1jYW1wYWlnbi9yZXN1bHQvZWFmZjUyOWFlNGQ2YTAwZWJmM2Y4MDhkYmU4MGFiMzEKICogYXV0aG9yOiBMZW9uYXJkb25lIEAgTkVFVFNES0FTVQogKi8KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2RlZmluZSBQTUFYICgxMDAwMDAwKQojZGVmaW5lIFBDKGMpIHB1dGNoYXIoYykKI2RlZmluZSBQRChkKSBwcmludGYoIiVkXG4iLCBkKQojZGVmaW5lIFBTKHMpIHByaW50ZigiJXNcbiIsIHMpCiNkZWZpbmUgU1VNQ0hFQ0sodG1wLCBzdW0sIGksIHUsIG0pIFwKCXN1bSA9IGkgKyB1OyBcCglpZiAoc3VtID4gdG1wKSB7IFwKCQl0bXAgPSBzdW07IFwKCQlpZiAodG1wID09IG0pIGJyZWFrOyBcCgl9CgppbnQgbGlzdFtQTUFYICsgMV0gPSB7MH07CmNoYXIgc3RyWzEwXSA9IHsnXG4nfTsKCmlubGluZSBpbnQgZ2Modm9pZCkgewogICAgcmVnaXN0ZXIgaW50IGMsIG4gPSAwOwogICAgZG8gewogICAgICAgIGMgPSBnZXRjaGFyKCk7CiAgICB9IHdoaWxlICgoYyA8ICcwJykgfHwgKGMgPiAnOScpKTsKICAgIGRvIHsKICAgICAgICBuID0gbiAqIDEwICsgKGMgLSAnMCcpOwogICAgICAgIGMgPSBnZXRjaGFyKCk7CiAgICB9IHdoaWxlICgoYyA+PSAnMCcpICYmIChjIDw9ICc5JykpOwogICAgcmV0dXJuIG47Cn0KCmlubGluZSB2b2lkIHBpKHJlZ2lzdGVyIGludCBuKSB7CglyZWdpc3RlciBpbnQgdCwgaSA9IDE7CglkbyB7CgkJdCA9IG4gLyAxMDsKCQlzdHJbaV0gPSBuIC0gdCAqIDEwICsgJzAnOwoJCSsraTsgbiA9IHQ7Cgl9IHdoaWxlIChuID4gMCk7CglkbyB7CgkJUEMoc3RyWy0taV0pOwoJfSB3aGlsZSAoaSk7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIHJlZ2lzdGVyIGludCBqLCBpLCB1LCBzdW0sIHRtcDsKICAgIGludCBuLCBkLCBtLCBwOwogICAgCiAgICBuID0gZ2MoKTsKICAgIGQgPSBnYygpOwogICAgCiAgICBqID0gbiArIDE7CiAgICB3aGlsZSAoLS1qKSB7CiAgICAgICAgKytsaXN0W2djKCldOwogICAgfQogICAgCiAgICArK2xpc3RbOV07CiAgICBqID0gZCArIDE7CiAgICB3aGlsZSAoLS1qKSB7CiAgICAgICAgaSA9IG0gPSBnYygpOwogICAgICAgIHRtcCA9IDA7CgkJZG8gewoJCQktLWk7CgkJCXdoaWxlKCFsaXN0W2ldKSAtLWk7CgkJCWlmICgodSA9IG0gLSBpKSA+IGkpIGJyZWFrOwoJCQlpZiAodSA+IDkpIHsKCQkJCWlmIChpID09IHUpIHsKCQkJCQlpZiAobGlzdFtpXSA+IDEpIHsKCQkJCQkJU1VNQ0hFQ0sodG1wLCBzdW0sIGksIHUsIG0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCS0tdTsKCQkJCQkJd2hpbGUgKCFsaXN0W3VdKSAtLXU7CgkJCQkJCWlmICh1ID4gOSkgewoJCQkJCQkJU1VNQ0hFQ0sodG1wLCBzdW0sIGksIHUsIG0pOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl3aGlsZSAoIWxpc3RbdV0pIC0tdTsKCQkJCQlpZiAodSA+IDkpIHsKCQkJCQkJU1VNQ0hFQ0sodG1wLCBzdW0sIGksIHUsIG0pOwoJCQkJCX0KCQkJCX0KCQkJfQogICAgICAgIH0gd2hpbGUgKDEpOwogICAgICAgIHBpKHRtcCk7CiAgICB9CgkKICAgIHJldHVybiAwOwp9Cgo=