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

int N, A, B, C;
vector<int> v(1000, 0);

int dfs(int cur,int a,int b,int c) {
    if (cur == N) {
        if (min({a, b, c}) > 0) return abs(a-A) + abs(b-B) + abs(c-C) - 30;
        else return 1000000000;
    }
    int ret0 = dfs(cur+1, a, b, c);
    int ret1 = dfs(cur+1, a+v[cur], b, c) + 10;
    int ret2 = dfs(cur+1, a, b+v[cur], c) + 10;
    int ret3 = dfs(cur+1, a, b, c+v[cur]) + 10;
    return min({ret0, ret1, ret2, ret3});
}

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