#include <stdio.h>

void solve()
{ int n,m,d[100],ans=0,i,j,k,t; scanf("%d%d",&n,&m);
  for (i=0;i<n;i++) scanf("%d",&d[i]);
  for (i=0;i<n-2;i++)
  for (j=i+1;j<n-1;j++)
  for (k=j+1;k<n;k++)
    if ((t=d[i]+d[j]+d[k])<=m && t>ans) ans=t;
  printf("%d\n",ans);
}

void init()  /* Define function init() to do global intialization if needed   */
{

}

/******************************************************************************/
/*                                                                            */
/*  DON'T MODIFY main() function anyway!                                      */
/*                                                                            */
/******************************************************************************/

#include <stdio.h>

void solve(); /* write function solve() to process one case of the problem    */

int main()
{  int i,t; 
   init(); 
   scanf("%d\n",&t);
   for (i=0;i<t;i++)
   { 
     printf("case #%d:\n",i);
     solve();
   }
   return 0;
}

