#include <iostream>
#include <algorithm>
using namespace std;

int N, A, B, C;
int l[20];

int dfs(int i, int a, int b, int c) {
    if (i == N) {
        if (a != 0 && b != 0 && c != 0) return abs(a - A) + abs(b - B) + abs(c - C) - 30;
        else return 1e9;
    }
    int ret0 = dfs(i + 1, a, b, c);
    int ret1 = dfs(i + 1, a + l[i], b, c) + 10;
    int ret2 = dfs(i + 1, a, b + l[i], c) + 10;
    int ret3 = dfs(i + 1, a, b, c + l[i]) + 10;
    return min({ret0, ret1, ret2, ret3});
}

int main() {
    cin >> N >> A >> B >> C;
    for (int i = 0; i < N; i++) cin >> l[i];

    cout << dfs(0, 0, 0, 0) << endl;
    return 0;
}