There are *n* points on a straight line, and the *i*-th point among them is located at *x*<sub class="lower-index">*i*</sub>. All these coordinates are distinct.

Determine the number *m* — the smallest number of points you should add on the line to make the distances between all neighboring points equal.
The first line contains a single integer *n* (3 ≤ *n* ≤ 100 000) — the number of points.

The second line contains a sequence of integers *x*<sub class="lower-index">1</sub>, *x*<sub class="lower-index">2</sub>, ..., *x*<sub class="lower-index">*n*</sub> ( - 10<sup class="upper-index">9</sup> ≤ *x*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>) — the coordinates of the points. All these coordinates are distinct. The points can be given in an arbitrary order.
In the first example you can add one point with coordinate 0.

In the second example the distances between all neighboring points are already equal, so you shouldn't add anything.
3
-5 10 5
1
6
100 200 400 300 600 500
0
4
10 9 0 -1
8
3
1 4 7
0
3
1 4 6
3
3
1 2 6
3
3
1 3 6
3
4
1 2 3 4
0
3
-1000000000 -999999999 1000000000
1999999998
3
-1000000000 999999999 1000000000
1999999998
3
-1000000000 -999999998 1000000000
999999998
3
-1000000000 999999998 1000000000
999999998
3
422800963 4663162 694989823
230108885
5
-268968800 -435386086 -484420288 579138544 945328473
204249819
10
711183437 845779129 -106125616 -481773790 66231250 -183390793 -711197523 -196001897 -440633306 -873649505
156311685
3
300000002 -799999998 -599999998
9
5
-166282087 234698547 -853072571 644571043 444292437
3533
7
996073710 -246878649 34663194 35526441 634003254 -704646201 -905166147
15411
3
-1000000000 1 1000000000
1999999998
5
-1000000000 1000000000 1 2 -30000
1999999996
3
422800963 0 1000000000
999999998
3
1000000000 500000001 -500000001
1499999999
import sys


def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)


def main():
    n = int(sys.stdin.readline())
    nums = map(lambda str: int(str), sys.stdin.readline().split(" "))
    nums.sort()

    g = gcd(nums[1] - nums[0], nums[2] - nums[1])
    idx = 2
    while idx < nums.__len__() - 1:
        g = gcd(g, nums[idx + 1] - nums[idx])
        idx = idx + 1

    idx = 0
    ans = 0
    while idx < nums.__len__() - 1:
        dist = nums[idx + 1] - nums[idx]
        ans = ans + dist / g - 1
        idx = idx + 1

    print(ans)


if _name_ == '_main_':
    main()