/**给定一些氨基酸,组成与给定蛋白质质量相差最少
题目描述中规定了 min(A1,A2,......,AN)<=M,所以必定至少要使用一个氨基酸。
先脱水,朴素的01背包搞定
*/
#include<stdio.h>
#include<string.h>
#define N 2001
int mass[N];
bool dp[N];
int main()
{
int n,m,i,j;
while(scanf("%d%d",&n,&m)!=EOF)
{
m-=18;
for(i=0;i<n;++i)
{
scanf("%d",&mass[i]);
mass[i]-=18;
}
memset(dp,0,sizeof(dp));
dp[0]=1;
for(i=0;i<n;++i)
{
for(j=(m<<1);j>=mass[i];--j)
dp[j]=dp[j]||dp[j-mass[i]];
}
for(i=0;;i++)
if(dp[m-i]||dp[m+i])
{