#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define l(a, b, i) for (ll i = a; i < b; i++)
#define rl(a, b, i) for (ll i = a; i >= b; i--)
#define vpair vector<pair<ll, ll>>
#define inf LLONG_MAX
#define ninf LLONG_MIN
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
//freopen("roomtemperature.inp", "r", stdin);
//freopen("roomtemperature.out", "w", stdout);
ll N, T; cin >> N >> T; vector<ll> vec(N);
vector<ll> vecRe(N); // để insert những cái số dư khác nhau có thể tồn tại khi chia cho T
l(0, N, i) {
cin >> vec[i];
ll re = (vec[i] % T);
vecRe[i] = re;
}
sort(vecRe.begin(), vecRe.end());
ll maxgap = ninf;
l(1, N, i) {
maxgap = max(maxgap, vecRe[i] - vecRe[i - 1]);
}
maxgap = max(maxgap, vecRe[0] + T - vecRe[N - 1]);
cout << (T - maxgap + 1) / 2;
}