Ante and Goran are preparing teams of young ambitious students for a student programming competition of students from University of Zagreb. Both of them have one algorithm they have to explain to each team. Of course, both can't work with the same team at the same time and none of them can work with multiple teams simultaneously.

You are given the time it takes for each team to understand and implement an algorithm. Each algorithm lecture has to be done without interruption. Determine the minimal time required for Ante and Goran to do their lectures!

For additional explanation, consult the sample tests' clarifications.

#### Input

The first line of input contains the integer , the number of teams.

The following line contains space separated integers, where the integer denotes the time required for the team to understand and implement an algorithm.

All numbers in the input will belong to the interval .

#### Output

The first and only line of output must contain the required number from the task.

#### Scoring

In test cases worth 40% of total points, it will hold .

#### Sample Input 1

```
3
2 2 2
```

#### Sample Output 1

`6`

#### Explanation for Sample Output 1

Each team needs 2 units of time to understand and implement an algorithm. One of the possible schedules is that Ante gives his lectures to team 1, team 2 and team 3, respectively, and Goran to team 3, team 1 and team 2, respectively.

#### Sample Input 2

```
3
4 1 2
```

#### Sample Output 2

`8`

#### Explanation for Sample Output 2

One of the optimal schedules is that Ante gives lectures to team 2, team 3 and team 1, respectively, but with a pause lasting 1 unit of time between team 3 and team 1. Goran will give lectures to team 1, team 3 and team 2, respectively.

#### Sample Input 3

```
4
1 3 2 1
```

#### Sample Output 3

`7`

## Comments