# n=int(input())
n, A, B, C = map(int, input().split())
# l=list(map(int,input().split()))
#l=[list(map(int,input().split())) for i in range(n)]
l = [int(input()) for i in range(n)]

INF = 10**9


def dfs(cur, a, b, c):
    if cur == n:
        return abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF
    ret0 = dfs(cur+1, a, b, c)
    ret1 = dfs(cur+1, a+l[cur], b, c)+10
    ret2 = dfs(cur+1, a, b+l[cur], c)+10
    ret3 = dfs(cur+1, a, b, c+l[cur])+10

    return min(ret0, ret1, ret2, ret3)


ans = dfs(0, 0, 0, 0)
print(ans) n, A, B, C = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split A B C int(input()) for i in range(n) for i in range(n) i range(n) range n for i in range(n) int(input()) int input() input l = [int(input()) for i in range(n)] l [int(input()) for i in range(n)] INF = 10**9 INF 10**9 10 9 def dfs(cur, a, b, c):
    if cur == n:
        return abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF
    ret0 = dfs(cur+1, a, b, c)
    ret1 = dfs(cur+1, a+l[cur], b, c)+10
    ret2 = dfs(cur+1, a, b+l[cur], c)+10
    ret3 = dfs(cur+1, a, b, c+l[cur])+10

    return min(ret0, ret1, ret2, ret3) dfs if cur == n:
        return abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF
     cur == n cur n return abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF min(a, b, c) > 0 min(a, b, c) min a b c 0 abs(a-A)+abs(b-B)+abs(c-C)-30 abs(a-A)+abs(b-B)+abs(c-C) abs(a-A)+abs(b-B) abs(a-A) abs a-A a A abs(b-B) abs b-B b B abs(c-C) abs c-C c C 30 INF ret0 = dfs(cur+1, a, b, c) ret0 dfs(cur+1, a, b, c) dfs cur+1 cur 1 a b c ret1 = dfs(cur+1, a+l[cur], b, c)+10 ret1 dfs(cur+1, a+l[cur], b, c)+10 dfs(cur+1, a+l[cur], b, c) dfs cur+1 cur 1 a+l[cur] a l[cur] l cur b c 10 ret2 = dfs(cur+1, a, b+l[cur], c)+10 ret2 dfs(cur+1, a, b+l[cur], c)+10 dfs(cur+1, a, b+l[cur], c) dfs cur+1 cur 1 a b+l[cur] b l[cur] l cur c 10 ret3 = dfs(cur+1, a, b, c+l[cur])+10 ret3 dfs(cur+1, a, b, c+l[cur])+10 dfs(cur+1, a, b, c+l[cur]) dfs cur+1 cur 1 a b c+l[cur] c l[cur] l cur 10 return min(ret0, ret1, ret2, ret3) min(ret0, ret1, ret2, ret3) min ret0 ret1 ret2 ret3 cur cur a a b b c c ans = dfs(0, 0, 0, 0) ans dfs(0, 0, 0, 0) dfs 0 0 0 0 print(ans) print ans n, A, B, C = map(int, input().split()) map(int, input().split()) n l = [int(input()) for i in range(n)] [int(input()) for i in range(n)] l C = map(int, input().split()) map(int, input().split()) C def dfs(cur, a, b, c):
    if cur == n:
        return abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF
    ret0 = dfs(cur+1, a, b, c)
    ret1 = dfs(cur+1, a+l[cur], b, c)+10
    ret2 = dfs(cur+1, a, b+l[cur], c)+10
    ret3 = dfs(cur+1, a, b, c+l[cur])+10

    return min(ret0, ret1, ret2, ret3) def dfs(cur, a, b, c):
    if cur == n:
        return abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF
    ret0 = dfs(cur+1, a, b, c)
    ret1 = dfs(cur+1, a+l[cur], b, c)+10
    ret2 = dfs(cur+1, a, b+l[cur], c)+10
    ret3 = dfs(cur+1, a, b, c+l[cur])+10

    return min(ret0, ret1, ret2, ret3) dfs A, B, C = map(int, input().split()) map(int, input().split()) A ans = dfs(0, 0, 0, 0) dfs(0, 0, 0, 0) ans B, C = map(int, input().split()) map(int, input().split()) B INF = 10**9 10**9 INF
# n=int(input())
n, A, B, C = map(int, input().split())
# l=list(map(int,input().split()))
#l=[list(map(int,input().split())) for i in range(n)]
l = [int(input()) for i in range(n)]

INF = 10**9


def dfs(cur, a, b, c):
    if cur == n:
        return abs(a-A)+abs(b-B)+abs(c-C)-30 if min(a, b, c) > 0 else INF
    ret0 = dfs(cur+1, a, b, c)
    ret1 = dfs(cur+1, a+l[cur], b, c)+10
    ret2 = dfs(cur+1, a, b+l[cur], c)+10
    ret3 = dfs(cur+1, a, b, c+l[cur])+10

    return min(ret0, ret1, ret2, ret3)


ans = dfs(0, 0, 0, 0)
print(ans)