编程题
### 问题描述
**面试官:**
"非常高兴见到你!我们公司一直在寻找创新的解决方案来优化我们的产品。我想给你一个有趣的问题,看看你如何思考。"
**你:**
"好的,我准备好了!"
**面试官:**
"假设你面前有 $N$ 个水杯,每个水杯中装有不同的水量,分别为 $W_1,W_2,W_3,\cdots,W_N$。你可以进行以下操作:选择两个不同的水杯 $i$ 和 $j$($i \ne j$),然后将这两个水杯中的水量更新为它们的平均值。"
**你:**
"明白了,这样的话两个水杯的水量会变得相同。"
**面试官:**
"没错!请注意,水杯的数量不会改变。你可以进行任意次数的操作,也可以不进行操作。我的问题是:在进行这些操作后,$N$ 个水杯中最多会出现多少种不同的水量?"
**你:**
"这听起来很有趣,让我思考一下。"
### 输入格式
第一行输入一个整数 $N(1 \leq N \leq 10^3)$ 表示水杯数量。
第二行输入 $N$ 个整数 $W_1,W_2,W_3, \cdots,W_N(1 \leq W_i \leq 10^9)$ 表示每个水杯的水量。
### 输出格式
输出一个整数表示答案。
### 样例输入
```text
5
1 2 3 2 4
```
### 样例输出
```text
4
```
### 样例说明
我们可以将第 $2$ 和第 $3$ 杯水进行一次操作后每个水杯的水量变为 $[1,2.5,2.5,2,4]$。
再将第 $1$ 和第 $2$ 杯水进行一次操作后每个水杯的水量变为 $[1.75,1.75,2.5,2,4]$,答案为 $4$。