output_description: Print the maximum value of D that enables you to visit all the cities.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N X
      x_1 x_2 ... x_N
attempt: import math, string, itertools, fractions, heapq, collections, re,  array, bisect, sys, random, time, copy, functools
  
  
  sys.setrecursionlimit(10**7)
  inf = 10 ** 20
  eps = 1.0 / 10**10
  mod = 10**9+7
  dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
  ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]
  
  
  def LI(): return [int(x) for x in sys.stdin.readline().split()]
  def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
  def LF(): return [float(x) for x in sys.stdin.readline().split()]
  def LS(): return sys.stdin.readline().split()
  def I(): return int(sys.stdin.readline())
  def F(): return float(sys.stdin.readline())
  def S(): return input()
  def pf(s): return print(s, flush=True)
  
  
  N, X = LI()
  X_list = LI()
  X_list.sort()
  
  bisect.insort_left(X_list, X)
  #  print(X_list)
  X_diff = [j-i for i, j in zip(X_list[:-1], X_list[1:])]
  print(min(X_diff)
  
problem_description: Statement
  
  There are N cities on a number line. The i-th city is located at coordinate
  x_i.
  
  Your objective is to visit all these cities at least once.
  
  In order to do so, you will first set a positive integer D.
  
  Then, you will depart from coordinate X and perform Move 1 and Move 2 below,
  as many times as you like:
  
    * Move 1: travel from coordinate y to coordinate y + D.
    * Move 2: travel from coordinate y to coordinate y - D.
  
  Find the maximum value of D that enables you to visit all the cities.
  
  Here, to visit a city is to travel to the coordinate where that city is
  located.
samples: [{"input": "3 3\n    1 7 11", "output": "2\n    \n\nSetting D = 2 enables you to visit all the cities as follows, and this is the\nmaximum value of such D.\n\n  * Perform Move 2 to travel to coordinate 1.\n  * Perform Move 1 to travel to coordinate 3.\n  * Perform Move 1 to travel to coordinate 5.\n  * Perform Move 1 to travel to coordinate 7.\n  * Perform Move 1 to travel to coordinate 9.\n  * Perform Move 1 to travel to coordinate 11.\n\n* * *"}, {"input": "3 81\n    33 105 57", "output": "24\n    \n\n* * *"}, {"input": "1 1\n    1000000000", "output": "999999999"}]