from collections import deque def aa(x,y,z): global n,k if x==n or z==n: c=k for i in range(len(f)-1,-1,-1): c%=a[i] return c c=0 if y: c=max(c,aa(x+1,y-1,z)) f.append(a[x]) for i in range(z,n): c=max(aa(x+1,y+i-z,i+1),c) f.pop() return c n,k=map(int,input().split()) a=list(map(int,input().split())) a.sort();f=deque() print(aa(0,0,0))