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

long long N, A, B, C;
vector<long long> l(10);

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

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