"use strict"
function Main(input){
  input=input.split(/\s+/);
  for(let i=0;i<input.length;i++)
    input[i]=parseInt(input[i]);
  var N=input.shift();
  var ABC=input.splice(0,3);
  var L=input;
  var abc=[];
  var M=Math.pow(4,N);
  for(let i=0;i<M;i++){
    abc[i]=[0,0,0,10*(N-3)];
    var str=zeroFill(i.toString(4) , N);
    for(let j=0;j<N;j++)
      switch(str[j]){//abc[i]の0番目、1番目、2番目をＡＢＣにぶつける。3番目は合成に用いた消費ＭＰを記録
        case "0":
          abc[i][0]+=L[j];
          break;
        case "1":
          abc[i][1]+=L[j];
          break;
        case "2":
          abc[i][2]+=L[j];
          break;
        case "3":
          abc[i][3]-=10;
          break;
      }
    for(let k=0;k<3;k++)
      if(abc[i][k]===0)abc[i][k]=Infinity;
  }
  function dst(abc){
    var sum=0;
    for(let i=0;i<3;i++)
      sum+=Math.abs(ABC[i]-abc[i]);
      sum+=abc[3];
    return sum;
  }
  
  var Dst=[];
  for(let i=0;i<M;i++){
    Dst[i]=dst(abc[i]);
  }
  console.log(Math.min.apply(null,Dst));
}

function zeroFill(str,n){
  return ("00000000"+str).slice(-n);
}

Main(require('fs').readFileSync("/dev/stdin","utf8"));