#include <bits/stdc++.h>
using namespace std;

int N,A,B,C;
vector<int> v(10);
const int INF=1e9;

int dfs(int now,int a,int b,int c){
    if(now==N){
        // 必ずa,b,cには一本ずつ選ぶから10×3だけ余計になる
        if(min({a,b,c})>0) return abs(A-a)+abs(B-b)+abs(C-c)-30;
        else return INF;
    }
    int r0=dfs(now+1,a,b,c);
    int r1=dfs(now+1,a+v[now],b,c)+10;
    int r2=dfs(now+1,a,b+v[now],c)+10;
    int r3=dfs(now+1,a,b,c+v[now])+10;
    return min({r0,r1,r2,r3});
}

int main(){
    cin>>N>>A>>B>>C;
    for(int i=0;i<N;i++) cin>>v[i];
    int ans=dfs(0,0,0,0);
    cout<<ans<<endl;
    return 0;
}