#include<iostream>
#include <algorithm>
#include<string>
#include <bitset>
#include <vector>
#include <functional>
#include <climits>
#include <iomanip>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <numeric>
#include <stack>
#include <map> // pair
#include <cstdlib>  // abs() for integer
#include <cmath>    // abs() for float, and fabs()
typedef std::stack<int> IntStack;
typedef std::stack<char> charStack;

using namespace std;
using ll = long long;
typedef pair <ll, ll > pll;
ll answer = 9999999999;
void kansuu(ll a, ll b, ll c, ll a1, ll a2, ll a3, ll a4, ll a5, ll a6, ll a7, ll a8, ll ans)
{
	ll i;

	if (a > 0)
	{
		if (a1 >= 1)
		{
			i = a1;
			a1 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a1 = i;
		}
		if (a2 >= 1)
		{
			i = a2;
			a2 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a2 = i;
		}
		if (a3 >= 1)
		{
			i = a3;
			a3 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a3 = i;
		}if (a4 >= 1)
		{
			i = a4;
			a4 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a4 = i;
		}if (a5 >= 1)
		{
			i = a5;
			a5 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a5 = i;
		}if (a6 >= 1)
		{
			i = a6;
			a6 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a6 = i;
		}if (a7 >= 1)
		{
			i = a7;
			a7 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a7 = i;
		}if (a8 >= 1)
		{
			i = a8;
			a8 = 0;
			kansuu(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
			a8 = i;
		}
		kansuu(0, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + a);
	}
	else if (a < 0)
	{
		ans += abs(a);
		a = 0;
	}
	if (a == 0)
	{

		if (b > 0)
		{
			if (a1 >= 1)
			{
				i = a1;
				a1 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a1 = i;
			}
			if (a2 >= 1)
			{
				i = a2;
				a2 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a2 = i;
			}
			if (a3 >= 1)
			{
				i = a3;
				a3 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a3 = i;
			}if (a4 >= 1)
			{
				i = a4;
				a4 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a4 = i;
			}if (a5 >= 1)
			{
				i = a5;
				a5 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a5 = i;
			}if (a6 >= 1)
			{
				i = a6;
				a6 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a6 = i;
			}if (a7 >= 1)
			{
				i = a7;
				a7 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a7 = i;
			}if (a8 >= 1)
			{
				i = a8;
				a8 = 0;
				kansuu(a, b - i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
				a8 = i;
			}
			kansuu(0, 0, c, a1, a2, a3, a4, a5, a6, a7, a8, ans + b);
		}
		else if (b < 0)
		{
			ans += abs(b);
			b = 0;
		}
		if (b == 0)
		{

			if (c > 0)
			{
				if (a1 >= 1)
				{
					i = a1;
					a1 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a1 = i;
				}
				if (a2 >= 1)
				{
					i = a2;
					a2 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a2 = i;
				}
				if (a3 >= 1)
				{
					i = a3;
					a3 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a3 = i;
				}if (a4 >= 1)
				{
					i = a4;
					a4 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a4 = i;
				}if (a5 >= 1)
				{
					i = a5;
					a5 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a5 = i;
				}if (a6 >= 1)
				{
					i = a6;
					a6 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a6 = i;
				}if (a7 >= 1)
				{
					i = a7;
					a7 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a7 = i;
				}if (a8 >= 1)
				{
					i = a8;
					a8 = 0;
					kansuu(a, b, c - i, a1, a2, a3, a4, a5, a6, a7, a8, ans + 10);
					a8 = i;
				}
				kansuu(0, 0, 0, a1, a2, a3, a4, a5, a6, a7, a8, ans + c);
			}
			else if (c < 0)
			{
				ans += abs(c);
				c = 0;
			}
			if (a == 0 && b == 0 && c == 0)
			{
				answer = min(answer, ans);
				//cout << ans << endl;
			}
		}
	}
}
void kansuu2(ll a, ll b, ll c, ll a1, ll a2, ll a3, ll a4, ll a5, ll a6, ll a7, ll a8, ll ans, ll b1, ll b2, ll b3)
{
	ll i;

	if (b1 == 0)
	{
		if (a1 >= 1)
		{
			i = a1;
			a1 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a1 = i;
		}
		if (a2 >= 1)
		{
			i = a2;
			a2 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a2 = i;
		}
		if (a3 >= 1)
		{
			i = a3;
			a3 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a3 = i;
		}
		if (a4 >= 1)
		{
			i = a4;
			a4 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a4 = i;
		}
		if (a5 >= 1)
		{
			i = a5;
			a5 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a5 = i;
		}
		if (a6 >= 1)
		{
			i = a6;
			a6 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a6 = i;
		}
		if (a7 >= 1)
		{
			i = a7;
			a7 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a7 = i;
		}
		if (a8 >= 1)
		{
			i = a8;
			a8 = 0;
			kansuu2(a - i, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, b2, b3);
			a8 = i;
		}
	}
	else
	{
		if (b2 == 0)
		{
			if (a1 >= 1)
			{
				i = a1;
				a1 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a1 = i;
			}
			if (a2 >= 1)
			{
				i = a2;
				a2 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a2 = i;
			}
			if (a3 >= 1)
			{
				i = a3;
				a3 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a3 = i;
			}
			if (a4 >= 1)
			{
				i = a4;
				a4 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a4 = i;
			}
			if (a5 >= 1)
			{
				i = a5;
				a5 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a5 = i;
			}
			if (a6 >= 1)
			{
				i = a6;
				a6 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a6 = i;
			}
			if (a7 >= 1)
			{
				i = a7;
				a7 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a7 = i;
			}
			if (a8 >= 1)
			{
				i = a8;
				a8 = 0;
				kansuu2(a,b-i, c, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, b3);
				a8 = i;
			}
		}
		else
		{
			if (b3 == 0)
			{
				if (a1 >= 1)
				{
					i = a1;
					a1 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a1 = i;
				}
				if (a2 >= 1)
				{
					i = a2;
					a2 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a2 = i;
				}
				if (a3 >= 1)
				{
					i = a3;
					a3 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a3 = i;
				}
				if (a4 >= 1)
				{
					i = a4;
					a4 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a4 = i;
				}
				if (a5 >= 1)
				{
					i = a5;
					a5 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a5 = i;
				}
				if (a6 >= 1)
				{
					i = a6;
					a6 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a6 = i;
				}
				if (a7 >= 1)
				{
					i = a7;
					a7 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a7 = i;
				}
				if (a8 >= 1)
				{
					i = a8;
					a8 = 0;
					kansuu2(a, b,c-i, a1, a2, a3, a4, a5, a6, a7, a8, ans, 1, 1, 1);
					a8 = i;
				}
			}
			if(b1 == 1 && b2 == 1 && b3 == 1 )
			{
				//cout << 1 << endl;

				kansuu(a, b, c, a1, a2, a3, a4, a5, a6, a7, a8, ans);
			}
		}
	}
}



int main()
{
	ll a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, ans = 0;
	ll n, m, K;
	ll x[10004] = {};
	ll y[10004] = {};
	ll z[10004] = {};
	string s;
	string s1, s2;
	//IntStack yStack;
	//charStack Stack;
	//vector<pair<int, int> > pairs(a);
	cin >> a;
	cin >> b;
	cin >> c;
	cin >> d;
	for (int i = 0; i < a; i++)
	{
		cin >> x[i];
	}
	//sort(x, x + a);
	kansuu2(b, c, d, x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], 0,0,0,0);
	//cout << z << endl;


	cout << answer << endl;

	////std::cout << std::fixed;
	//cout << std::setprecision(20) << << endl;
	//cout << d+1 << endl;
	//cout << "" << endl;

	return 0;
}
//char型の文字数字は、-'0'で数値に変換できる
//accumulate(x, x + a, 0);//int型までの配列の合計
//memcpy(x, visited, sizeof(ll)*n);
//void kansuu(ll num, ll visited[10]) {}
//kansuu(1, zz);
//cout << setprecision(15) << v << endl;
//cout << char(z - 'a');
//log10(i) + 1 //10進数の桁数を取得

//int temp;
//for (int i = 0; i < n - 1; i++) {
//	for (int j = n - 1; j > i; j--) {
//		if (w[j - 1] < w[j]) {  /* 前の要素の方が大きかったら */
//			temp = w[j];        /* 交換する */
//			w[j] = w[j - 1];
//			w[j - 1] = temp;
//		}
//	}
//}

//最小公倍数
//ll x = a * b;
//ll tmp;
///* 自然数 a > b を確認・入替 */
//if (a<b) {
//	tmp = a;
//	a = b;
//	b = tmp;
//}
///* ユークリッドの互除法 */
//ll r = a % b;
//while (r != 0) {
//	a = b;
//	b = r;
//	r = a % b;
//}
//a = x / b;//答え

Measured memory_bytes: 384