#include<iostream> //赤裸裸的0-1背包问题
using namespace std;
int main()
{
int t,n,m,item,dp[10010];
cin>>t;
while(t--)
{
cin>>n>>m;
fill(dp,dp+m+1,0);
while(n--)
{
cin>>item;
for(int i=m;i>=item;--i)
dp[i]=max(dp[i],dp[i-item]+item);
}
cout<<dp[m]<<endl;
}
return 0;
}
using namespace std;
int main()
{
int t,n,m,item,dp[10010];
cin>>t;
while(t--)
{
cin>>n>>m;
fill(dp,dp+m+1,0);
while(n--)
{
cin>>item;
for(int i=m;i>=item;--i)
dp[i]=max(dp[i],dp[i-item]+item);
}
cout<<dp[m]<<endl;
}
return 0;
}