var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var Arr=(input.trim()).split("\n");
while(true){
   var nm=Arr.shift().split(" ").map(Number);
   var n=nm[0];
   var m=nm[1];
   if(n==0 && m==0)break;
   var arr=[];
   for(var i=0;i<n;i++)arr.push(Arr.shift()-0);
   arr.push(0);
   var obj={};
   for(var i=0;i<arr.length;i++){
     for(var j=0;j<arr.length;j++){
        obj[arr[i]+arr[j]]=true;
     }
   }
   var Q=[];
   for(var k in obj)Q.push(k-0);
   Q.sort(function(a,b){return a-b;});
   var max=0;
   for(var i=0;i<Q.length;i++){
     for(var j=0;j<Q.length;j++){ 
        if(Q[i]+Q[j]>m)break;
        max=Math.max(max,Q[i]+Q[j]);
     }
  }
  console.log(max);
}