编程题
### 问题描述
阿鹏的工作是在矿山中挖掘宝石。一天,他挖掘出了 $N$ 块宝石,并将他们均匀地分成了 $N$ 堆。然而,当他离开去做其他事情时,他的助手丽丽却将他分好的宝石堆打乱了。丽丽并不知道原先每堆宝石的数量是一样的,她只是随意地将宝石分成了若干堆。当阿鹏回来后,他发现原本平均分配的宝石现在变得参差不齐,这使他非常生气,他要求丽丽纠正这个错误,并只允许丽丽进行两种操作:
1. 从任意一堆宝石中取出若干颗放回阿鹏的宝石箱。
2. 从阿鹏的宝石箱中取出若干颗放到任意一堆中。
丽丽希望尽快完成这个任务,所以她想知道使所有宝石堆数量相等最少需要进行多少次操作。
你的任务是编写一个程序帮助麻衣找出完成任务的最小操作次数。
### 输入格式
第一行包含一个整数 $N$,表示宝石堆的数量。
第二行包含 $N$ 个由空格分隔的整数 $A_i$,表示每堆宝石的数量。
数据范围保证:$1 ≤ N ≤ 10^3$,$1 ≤ A_i ≤ 10^3$。
### 输出格式
输出一行包含一个整数,表示丽丽需要进行的最小操作次数。
### 样例输入
```
4
1 2 3 4
```
### 样例输出
```
3
```