<?php
// paiza POH! Vol.1
// result:
// http://p...content-available-to-author-only...a.jp/poh/ec-campaign/result/f9f83f0dfa6a1a9390593c2f38277336
// author: Leonardone @ NEETSDKASU
function foo(&$p, $f, $e, &$m) {
if (($df = $e - $f) < 5) return $e;
if ($m < $p[$ci = ($f + ($df >> 1))]) {
return foo($p, $f, $ci, $m);
} else {
return foo($p, $ci, $e, $m);
}
}
function bar(&$p, $f, $e, &$m) {
if (($df = $e - $f) < 5) return $f;
if ($m > $p[$ci = ($f + ($df >> 1))]) {
return bar($p, $ci, $e, $m);
} else {
return bar($p, $f, $ci, $m);
}
}
$n = (int)$nd[0];
$d = (int)$nd[1];
for ($j=0;$j<$n;++$j) { $p[$j] = (int
)fgets(STDIN
); } --$n;
do {
$tmp = 0;
$f = foo($p, 0, $n, $m);
while ($p[$f] >= $m) --$f;
if (($df = $m - $p[$f]) <= $p[$f]) {
$e = bar($p, 0, $f, $df);
do {
while ($df > $p[$e]) ++$e;
if (($df < $p[$e]) || ($f == $e)) if ($e > 0) --$e;
if (($sum = $p[$f] + $p[$e]) > $tmp) {
if ($sum <= $m)
if (($tmp = $sum) == $m) break;
}
--$f;
} while (($df = $m - $p[$f]) <= $p[$f]);
}
echo $tmp, PHP_EOL;
} while (--$d);
PD9waHAKLy8gcGFpemEgUE9IISBWb2wuMQovLyByZXN1bHQ6Ci8vIGh0dHA6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLmpwL3BvaC9lYy1jYW1wYWlnbi9yZXN1bHQvZjlmODNmMGRmYTZhMWE5MzkwNTkzYzJmMzgyNzczMzYKLy8gYXV0aG9yOiBMZW9uYXJkb25lIEAgTkVFVFNES0FTVQokcCA9IGFycmF5KCk7CmZ1bmN0aW9uIGZvbygmJHAsICRmLCAkZSwgJiRtKSB7CglpZiAoKCRkZiA9ICRlIC0gJGYpIDwgNSkgcmV0dXJuICRlOwoJaWYgKCRtIDwgJHBbJGNpID0gKCRmICsgKCRkZiA+PiAxKSldKSB7CgkJcmV0dXJuIGZvbygkcCwgJGYsICRjaSwgJG0pOwoJfSBlbHNlIHsKCQlyZXR1cm4gZm9vKCRwLCAkY2ksICRlLCAkbSk7Cgl9Cn0KZnVuY3Rpb24gYmFyKCYkcCwgJGYsICRlLCAmJG0pIHsKCWlmICgoJGRmID0gJGUgLSAkZikgPCA1KSByZXR1cm4gJGY7CglpZiAoJG0gPiAkcFskY2kgPSAoJGYgKyAoJGRmID4+IDEpKV0pIHsKCQlyZXR1cm4gYmFyKCRwLCAkY2ksICRlLCAkbSk7Cgl9IGVsc2UgewoJCXJldHVybiBiYXIoJHAsICRmLCAkY2ksICRtKTsKCX0KfQoKJG5kID0gZXhwbG9kZSgiICIsZmdldHMoU1RESU4pKTsKJG4gPSAoaW50KSRuZFswXTsKJGQgPSAoaW50KSRuZFsxXTsKZm9yICgkaj0wOyRqPCRuOysrJGopIHsgJHBbJGpdID0gKGludClmZ2V0cyhTVERJTik7IH0Kc29ydCgkcCwgU09SVF9OVU1FUklDKTsKLS0kbjsKZG8gewoJJG0gPSAoaW50KWZnZXRzKFNURElOKTsKCSR0bXAgPSAwOwoJJGYgPSBmb28oJHAsIDAsICRuLCAkbSk7Cgl3aGlsZSAoJHBbJGZdID49ICRtKSAtLSRmOwoJaWYgKCgkZGYgPSAkbSAtICRwWyRmXSkgPD0gJHBbJGZdKSB7CgkJJGUgPSBiYXIoJHAsIDAsICRmLCAkZGYpOwoJCWRvIHsKCQkJd2hpbGUgKCRkZiA+ICRwWyRlXSkgKyskZTsKCQkJaWYgKCgkZGYgPCAkcFskZV0pIHx8ICgkZiA9PSAkZSkpIGlmICgkZSA+IDApIC0tJGU7CgkJCWlmICgoJHN1bSA9ICRwWyRmXSArICRwWyRlXSkgPiAkdG1wKSB7CgkJCQlpZiAoJHN1bSA8PSAkbSkgCgkJCQkJaWYgKCgkdG1wID0gJHN1bSkgPT0gJG0pIGJyZWFrOwoJCQl9CgkJCS0tJGY7CgkJfSB3aGlsZSAoKCRkZiA9ICRtIC0gJHBbJGZdKSA8PSAkcFskZl0pOwoJfQoJZWNobyAkdG1wLCBQSFBfRU9MOwp9IHdoaWxlICgtLSRkKTs=