#include <bits/stdc++.h>
using namespace std;
long long mod = 1e9 + 7;
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) {
  long long g = gcd(a, b);
  return a * b / g;
}
bool is_prime(long long x) {
  for (long long i = 2; i * i <= x; i++) {
    if (x % i == 0) return false;
  }
  return true;
}
long long vsum(vector<int> a) {
  long long res = 0;
  for (int i = 0; i < ((int)(a).size()); i++) res += a[i];
  return res;
}
int main() {
  int n, a[3];
  cin >> n >> a[0] >> a[1] >> a[2];
  vector<int> l(n);
  for (int i = 0; i < n; i++) cin >> l[i];
  int ans = 1e9;
  for (int mask = 0; mask < pow(4, n); mask++) {
    int tmp = mask;
    vector<vector<int>> a_tmp(3);
    for (int pos = 0; pos < n; pos++) {
      int r = tmp % 4;
      for (int i = 0; i < 3; i++)
        if (i == r) a_tmp[i].push_back(l[pos]);
      tmp /= 4;
    }
    int mp = 0;
    for (int i = 0; i < 3; i++) {
      int s = vsum(a_tmp[i]);
      int m = ((int)(a_tmp[i]).size());
      mp += 10 * (m - 1);
      mp += abs(s - a[i]);
    }
    chmin(ans, mp);
  }
  cout << ans << endl;
  return 0;
}
