编程题
### 问题描述
芬妮正在准备午餐,她希望准备的一顿营养均衡的午餐。已知有从 $1$ 到 $m$ 共 $m$ 种营养,可供芬妮挑选的菜品有 $n$ 种,这些菜品从 $1$ 到 $n$ 编号,编号为 $i$ 的菜品的营养值为 $a_i$ 。
若某营养可以整除某菜品的营养值,那么就认为该菜品包含该营养。一个菜品可以包含多种营养。
芬妮希望她挑选的菜品可以包含所有营养值,并且考虑到口味,她希望她挑选的菜品的营养值差异可以最小。菜品的营养值差异定义为所有菜品中营养值最高者减去营养值最低者。
芬妮想请你帮她求出,她能否实现挑选的菜品包含所有营养值的想法,若能实现,请你帮她算出菜品的营养值差异的最小值。
### 输入格式
第一行包含两个整数 $n,m$ ,分别表示所有菜品的总数和营养的总数。
第二行包含 $n$ 个数 $a_1,a_2,\dots,a_n$ ,表示菜品的营养值。
### 输出格式
输出一个整数:若芬妮可以实现挑选的菜品包含所有营养值的想法,输出所选菜品的营养值差异的最小值;若不能,输出 $-1$ 。
### 样例输入
```
5 7
6 4 3 5 7
```
### 样例输出
```
3
```
### 评测数据规模
对于所有评测数据, $1\leq{n,m}\leq{10^5 },1\leq{a_i}\leq{10^5 }$ 。