#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int min(int* array, int n) {
	int i;
	int min = array[0];
	for (i = 1; i < n; i++) if (min > array[i]) min = array[i];
	return min;
}

int main() {
	int n, a, b, c, l[8], i;
	scanf("%d%d%d%d", &n, &a, &b, &c);
	for (i = 0; i < n; i++) scanf("%d", &l[i]);
	
	//cur 次に追加する要素のインデックス
	int dfs(int cur, int x, int y, int z){
		int ret[4];
		if (cur == n) {
			return (x * y * z == 0) ? 100000000 : abs(x - a) + abs(y - b) + abs(z - c) - 30;
		}
		ret[0] = dfs(cur + 1, x, y, z);
		ret[1] = dfs(cur + 1, x + l[cur], y, z) + 10;
		ret[2] = dfs(cur + 1, x, y + l[cur], z) + 10;
		ret[3] = dfs(cur + 1, x, y, z + l[cur]) + 10;
		return min(ret, 4);
	}

	printf("%d", dfs(0, 0, 0, 0));
}
