编程题
### 问题描述
有 $n$ 堆积木,编号从 $1$ 到 $n$。第 $i$ 堆积木有 $a_i$ 个积木块。你可以从编号为 $i$ 的堆中取一个积木块放到编号为 $j$ 的堆中,但前提是第 $i$ 堆的积木块数必须大于第 $j$ 堆的。这样的操作会使第 $i$ 堆的积木块数减 $1$,第 $j$ 堆的积木块数加 $1$。你可以进行任意次这样的操作。
请问,通过操作,第 $1$ 堆积木最多能有多少个积木块?
### 输入格式
输入仅包含一行,首先是一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示积木堆的数量。
随后是 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$),代表每堆积木的积木块数。
### 输出格式
输出一个整数,代表第 $1$ 堆积木通过操作后可能的最大积木块数。
### 样例输入
```
3
1 3 2
```
### 样例输出
```
3
```