#include int main(){ int64_t N, K; while(std::cin >> N >> K){ std::vector A(N); for(int i = 0; i < N; ++i) std::cin >> A[i]; std::sort(A.rbegin(), A.rend()); int ans = 0; for(int i = 1; i < (1 << N); ++i){ if((i & (1 << (N-1))) == 0) continue; int t = K; for(int j = 0; j < N; ++j){ if(i & (1 << j)) t %= A[j]; } ans = std::max(ans, t); } std::cout << ans << "\n"; } return 0; }