import sys
input=sys.stdin.readline

def func(dst, src, mp):
    if len(dst) == 0: # dst が空になったら終了
        return mp
    for s in src: # 長さが一致していたら何もせず除外
        if s in dst:
            src.remove(s)
            dst.remove(s)
#            print("removed", s, src, dst, mp)
    for i in dst: # 持っているどの竹よりも短い dst には、短縮魔法を使うしかない
        if i < min(src):
            tmp = min(src)
            mp += min(src) - i
            src.remove(tmp)
            dst.remove(i)
#            print("shorten", tmp, src, dst, mp)
    # 持っている竹のうち、mp 消費が10未満で処理できるものがあれば、その中で最小のものを延長
    mi = 10
    dd = None
    ss = None
    for s in src:
        for d in dst:
            tmp = mi
            mi = min(mi, abs(d-s))
            if mi != tmp:
                dd = d
                ss = s
    if mi < 10:
        mp += dd - ss
        src.remove(ss)
        dst.remove(dd)
#        print("extend", ss, src, dst, mp)
    # 結合した時に、目標に 10 以上近くなる 2 本を結合
    s1 = s2 = None
    if len(src) > len(dst):
        mi = 1000
        for s in src:
            for d in dst:
                mi = min(mi, abs(s-d))
        for i in range(len(src)):
            for j in range(i+1,len(src)):
                for d in dst:
                    tmp = mi
                    mi = min(mi, 10 + abs(d - (src[i] + src[j])))
                    if mi != tmp:
                        s1 = src[i]
                        s2 = src[j]
        if s1 != None and s2 != None:
            src.remove(s1)
            src.remove(s2)
            mp += 10
#            print("synthesize", s1, s2, src, dst,mp)
            src.append(s1+s2)
    if len(src) <= len(dst) or s1 == None:
        # 結合しても意味が無い場合、最も差が小さいものを変更
        mi = 1000
        ss = None
        dd = None
        for s in src:
            for d in dst:
                tmp = mi
                mi = min(mi, abs(s-d))
                if tmp != mi:
                    ss = s
                    dd = d
        if ss != None and dd != None:
            mp += abs(ss-dd)
            src.remove(ss)
            dst.remove(dd)
#            print("removed", ss, src, dst, mp)
    return func(dst, src, mp)

def main():
    N,A,B,C = map(int, input().split())
    T = [A,B,C]
    L = []
    for _ in range(N):
        L.append(int(input()))
    print(func(T,L,0))

if __name__ == '__main__':
    main()
