#include<bits/stdc++.h>
using namespace std;
int N,A,B,C;
vector<int> l;
int32_t INF=1e9; 
int dfs(int n,int a,int b,int c){
  if(n==N){
    return min({a,b,c})>0? abs(a-A)+abs(b-B)+abs(c-C)-30:INF;
  }
  int tmp0=dfs(n+1,a,b,c);
  int tmp1=dfs(n+1,a+l[n],b,c)+10;
  int tmp2=dfs(n+1,a,b+l[n],c)+10;
  int tmp3=dfs(n+1,a,b,c+l[n])+10;
  return min({tmp0,tmp1,tmp2,tmp3});
}

int main()
{
  cin>>N>>A>>B>>C;
  for(int i=0;i<N;i++){
    int k;
    cin>>k;
    l.push_back(k);
  }
  cout<<dfs(0,0,0,0);
}