编程题
### 问题描述
在一个遥远的魔法世界里,小蓝是一位著名的魔法师。他有一套神秘的魔法卡片,每张卡片上都有一个神秘的魔法数字。小蓝发现,只有当所有卡片上的数字相同时,他才能唤醒卡片中的魔法力量。
然而,小蓝只能通过一种特殊的操作来改变卡片上的数字。对于一次操作,他只能选择卡片上的最大值 $max$ 和最小值 $min$ ,然后选择一个数字 $k(k\times min < max)$ ,让所有 $max$ 更新为 $max - k \times min$ 。
现在,小蓝想知道,他最少需要进行多少次操作,才能使得所有卡片上的数字相同。
### 输入格式
第一行包含一个正整数 $n (1 \leq n \leq 10^5)$,表示卡片的数量。
第二行包含 $n$ 个正整数 $a_1, a_2, ..., a_n (1 \leq a_i \leq 10^9)$,表示每张卡片上的数字。
### 输出格式
输出一个整数,表示小蓝最少需要进行的操作次数。
### 样例输入
```
3
2 3 6
```
### 样例输出
```
3
```