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

int N, L[8], A, B, C; // 1000 >= a > b > c >=1
int INF = 1<<15; // 2^29 ~= 5*10^8

int dfs(int n, int a, int b, int c){
  if(n==N){
    return
    if(min(a, b, c)>0){ // 最初の1本に対してはMPは使わない。
      abs(A-a) + abs(B-b) + abs(C-c) - 30;
    }else{
      INF;
    }
  }
  int ret0 = dfs(n+1,      a, b, c);
  int reta = dfs(n+1, a+L[n], b, c) +10;
  int retb = dfs(n+1, a, b+L[n], c) +10;
  int retc = dfs(n+1, a, b, c+L[n]) +10;
  return min(ret0, reta, retb, retc);

}

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

  cout << dfs(0, 0, 0, 0);

  return 0;
}
