import sys
sys.setrecursionlimit(10 ** 9) #再帰回数の限界を変更
N,A,B,C = map(int, input().split())
L=[]
for _ in range(N):
L.append(int(input()))
ans = 10**20
#n→回数
#a,b,c→それぞれ得ようとしているA,B,Cの竹を作るために使用している現在の長さ
#mp→現在の合成魔法による使用mp
def dfs(n,a,b,c,mp):
global ans #グローバル変数のansを参照します
# 全て使用するか決定したら打ち切り
if n == N:
if a==0 or b==0 or c==0:
#無からの生成は禁止
return
#延長短縮はabsで判断できる
ans = min(ans,abs(A-a)+abs(B-b)+abs(C-c)+mp)
return
#L[n]をどれに使用するか選択
dfs(n+1,a+L[n],b,c,mp+10)#a
dfs(n+1,a,b+L[n],c,mp+10)#b
dfs(n+1,a,b,c+L[n],mp+10)#c
dfs(n+1,a,b,c,mp)#どれにも使用しない
dfs(0,0,0,0,-30)#ちょっと汚いですが、どれか一つ選択は合成扱いでないため、mpを-30からスタート
print(ans)