Problem:
m 頂点の完全グラフがある．最初，完全グラフの辺には色は塗られていない．すぬけ君は，各 i(1 ≤ i ≤ n) について次の操作を行った: 完全グラフから ai 個の頂点を選び，選ばれた頂点同士を結ぶ辺すべてを色 i でぬる．複数個の色が塗られた辺はなかった．m として考えられる最小値を求めよ．

Constraints

1 ≤ n ≤ 5

2 ≤ ai ≤ 109

Input

n
a1
. . .
an

Output

m の最小値を一行に出力せよ．

Sample Input 1

2
3
3

Sample Output 1

5

たとえば，頂点1, 2, 3, 4, 5 からなるグラフがあった場合，次のように色を塗ることができる．

頂点1, 2, 3 を選びその間を結ぶ辺を色1 でぬる．

頂点1, 4, 5 を選びその間を結ぶ辺を色2 でぬる．

Sample Input 2

5
2
3
4
5
6

Sample Output 2

12

Solution in Ruby (judge verdict: Accepted)

n = gets.to_i
a = $<.map(&:to_i).sort.reverse

def f(a, select = [])
	max = select.flatten.max || 0
	if a.empty?
		return max
	end
	
	k = a[0]
	ans = []
	[k, select.size].min.downto(1){|r|
		(1..max).to_a.combination(r){|b|
			if check(select, b)			
				ans << f(a[1..-1], select + [b + (max+1..max+k-r).to_a])
			end
		}
	}
	ans << f(a[1..-1], select + [(max+1..max+k).to_a])
	ans.min
end

def check(select, a)
	select.all?{|b| (b & a).size <= 1}
end

s = 0
(0..n-1).each{|i|
	if a[i] > n-1
		s += a[i]-n+1
		a[i] = n-1
	end
}
p s + f(a, [])