4411 - 提高:深搜的剪枝技巧:小木棍

通过次数

32

提交次数

188

Time Limit : 1 秒
Memory Limit : 64 MB

乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。

Input

第一行为一个单独的整数N表示砍过以后的小木棍的总数,其中N≤60,第二行为N个用空个隔开的正整数,表示N根小木棍的长度。

Output

仅一行,表示要求的原始木棍的最小可能长度。

Examples

Input

9
5 2 1 5 2 1 5 2 1

Output

6

Hint

数据范围与提示; 1<=N<=60

友情提示:

要把超过50的长度自觉过滤掉,这些木棍不考虑