## https://yukicoder.me/problems/no/1083 import math def main(): N, K = map(int, input().split()) A = list(map(int, input().split())) A.sort() answer = -1 for bit in range(1, 2 ** N, 2): k = K for i in reversed(range(N)): if bit & (1 << i) > 0: k = k % A[i] answer = max(answer, k) print(answer) if __name__ == "__main__": main()