N,K = map(int,input().split()) lsA = list(map(int,input().split())) # bit全探索 lsA.sort(reverse=True) minA = lsA[-1] lsA2 = lsA[:-1] NN = len(lsA2) ans = 0 for i in range(2**NN): ll = [] for j in range(NN): if (i>>j) & 1: ll.append(lsA2[j]) c = K for j in range(len(ll)): c %= ll[j] c%=minA ans = max(ans,c) print(ans)