import sys
input=sys.stdin.readline

n,a,b,c=map(int,input().split())
L=[]
A=[a,b,c]
for i in range(n):
    L.append(int(input()))
L.sort()

Ans=10**9
for i in range(4**n):
    F=[[] for i in range(3)] #竹格納:[A,B,C]
    now=i
    for j in range(n):
        r=now%(4**(j+1))
        chk=r//(4**(j))
        if chk!=3:
            F[chk].append(L[j])
        now-=r    
    if F[0] and F[1] and F[2]: #竹が1本以上あるとき
        ans=0
        for k in range(3):
            f=F[k] #竹一覧
            Len=len(f)
            mp=10**9
            for l in range(1,2**Len):
                t=0
                cnt=0
                for q in range(Len):
                    if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp)
            ans+=mp
        Ans=min(ans,Ans)
print(Ans) import sys sys input=sys.stdin.readline input sys.stdin.readline sys.stdin sys stdin readline n,a,b,c=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split a b c L=[] L [] A=[a,b,c] A [a,b,c] a b c for i in range(n):
    L.append(int(input())) i range(n) range n L.append(int(input())) L.append L append int(input()) int input() input L.sort() L.sort L sort Ans=10**9 Ans 10**9 10 9 for i in range(4**n):
    F=[[] for i in range(3)] #竹格納:[A,B,C]
    now=i
    for j in range(n):
        r=now%(4**(j+1))
        chk=r//(4**(j))
        if chk!=3:
            F[chk].append(L[j])
        now-=r    
    if F[0] and F[1] and F[2]: #竹が1本以上あるとき
        ans=0
        for k in range(3):
            f=F[k] #竹一覧
            Len=len(f)
            mp=10**9
            for l in range(1,2**Len):
                t=0
                cnt=0
                for q in range(Len):
                    if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp)
            ans+=mp
        Ans=min(ans,Ans) i range(4**n) range 4**n 4 n [] for i in range(3) for i in range(3) i range(3) range 3 for i in range(3) [] F=[[] for i in range(3)] F [[] for i in range(3)] now=i now i for j in range(n):
        r=now%(4**(j+1))
        chk=r//(4**(j))
        if chk!=3:
            F[chk].append(L[j])
        now-=r    
     j range(n) range n r=now%(4**(j+1)) r now%(4**(j+1)) now 4**(j+1) 4 j+1 j 1 chk=r//(4**(j)) chk r//(4**(j)) r 4**(j) 4 j if chk!=3:
            F[chk].append(L[j])
         chk!=3 chk 3 F[chk].append(L[j]) [chk].append [chk] F chk append L[j] L j now-=r now r if F[0] and F[1] and F[2]: #竹が1本以上あるとき
        ans=0
        for k in range(3):
            f=F[k] #竹一覧
            Len=len(f)
            mp=10**9
            for l in range(1,2**Len):
                t=0
                cnt=0
                for q in range(Len):
                    if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp)
            ans+=mp
        Ans=min(ans,Ans) F[0] and F[1] and F[2] F[0] and F[1] F[0] F 0 F[1] F 1 F[2] F 2 ans=0 ans 0 for k in range(3):
            f=F[k] #竹一覧
            Len=len(f)
            mp=10**9
            for l in range(1,2**Len):
                t=0
                cnt=0
                for q in range(Len):
                    if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp)
            ans+=mp
         k range(3) range 3 f=F[k] f F[k] F k Len=len(f) Len len(f) len f mp=10**9 mp 10**9 10 9 for l in range(1,2**Len):
                t=0
                cnt=0
                for q in range(Len):
                    if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp)
             l range(1,2**Len) range 1 2**Len 2 Len t=0 t 0 cnt=0 cnt 0 for q in range(Len):
                    if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                 q range(Len) range Len if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                 (l>>q)&1 l>>q l q 1 cnt+=1 cnt 1 t+=f[q] t f[q] f q mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp) mp min(abs(t-A[k])+10*(max(0,cnt-1)),mp) min abs(t-A[k])+10*(max(0,cnt-1)) abs(t-A[k]) abs t-A[k] t A[k] A k 10*(max(0,cnt-1)) 10 max(0,cnt-1) max 0 cnt-1 cnt 1 mp ans+=mp ans mp Ans=min(ans,Ans) Ans min(ans,Ans) min ans Ans print(Ans) print Ans n,a,b,c=map(int,input().split()) map(int,input().split()) n chk=r//(4**(j)) r//(4**(j)) chk c=map(int,input().split()) map(int,input().split()) c A=[a,b,c] [a,b,c] A mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp) min(abs(t-A[k])+10*(max(0,cnt-1)),mp) mp F=[[] for i in range(3)] [[] for i in range(3)] F now-=r r now b,c=map(int,input().split()) map(int,input().split()) b now=i i now f=F[k] F[k] f a,b,c=map(int,input().split()) map(int,input().split()) a mp=10**9 10**9 mp ans+=mp mp ans L=[] [] L Ans=min(ans,Ans) min(ans,Ans) Ans Ans=10**9 10**9 Ans t=0 0 t ans=0 0 ans t+=f[q] f[q] t cnt=0 0 cnt Len=len(f) len(f) Len input=sys.stdin.readline sys.stdin.readline input cnt+=1 1 cnt r=now%(4**(j+1)) now%(4**(j+1)) r
import sys
input=sys.stdin.readline

n,a,b,c=map(int,input().split())
L=[]
A=[a,b,c]
for i in range(n):
    L.append(int(input()))
L.sort()

Ans=10**9
for i in range(4**n):
    F=[[] for i in range(3)] #竹格納:[A,B,C]
    now=i
    for j in range(n):
        r=now%(4**(j+1))
        chk=r//(4**(j))
        if chk!=3:
            F[chk].append(L[j])
        now-=r    
    if F[0] and F[1] and F[2]: #竹が1本以上あるとき
        ans=0
        for k in range(3):
            f=F[k] #竹一覧
            Len=len(f)
            mp=10**9
            for l in range(1,2**Len):
                t=0
                cnt=0
                for q in range(Len):
                    if (l>>q)&1:
                        cnt+=1
                        t+=f[q]
                mp=min(abs(t-A[k])+10*(max(0,cnt-1)),mp)
            ans+=mp
        Ans=min(ans,Ans)
print(Ans)