#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define int ll
using P = pair<int, int>;
#define all(x) x.begin(), x.end()
#define rep(i, l, n) for (int i = l; i < (n); ++i)
#define sz(x) (int)x.size()
const char nl = '\n';
const int mod = 998244353;
const int inf = 1e9;
void solve() {
int n, t; cin >> n >> t;
vector<int> a;
rep(i, 0, n) {
int x; cin >> x;
a.push_back(x);
// mn = min(mn, x);
// mx = max(mx, x);
}
sort(all(a));
rep(i, 1, n) {
int d = (a[i]-a[0])/t;
a[i] -= d*t;
}
sort(all(a));
int res = (a[n-1]-a[0]+1)/2;
rep(i, 1, n)
if (a[i]-a[0] >= a[0]-a[i]+t)a[i] -= t;
sort(all(a));
res = min(res, (a[n-1]-a[0]+1)/2);
// int d = (mx-mn)/t;
// mx -= d*t;
// int res = (mx-mn+1)/2;
// mx -= t;
// res = min(res, (mn-mx+1)/2);
cout << res;
}
int32_t main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
solve();
return 0;
}