#include #define REP(i,n) for(int i=0;i<(int)(n);i++) #define ALL(x) (x).begin(),(x).end() using namespace std; typedef long double ld; const ld eps = 1e-9; int main() { int N; ld L; cin >> N >> L; vector X(N); REP(i,N-1) cin >> X[i+1]; ld sum = 0, cnt = 0, res = 0; for (int i = N-1; i >= 1; --i) { sum += X[i] + L / 2; ++cnt; ld g = sum / cnt; if (g < X[i] + eps || X[i] + L < g + eps || g < X[i-1] + eps || X[i-1] + L < g + eps) ++res; } REP(i,N-1) if (abs(X[i] - X[i+1]) > L - eps) res = -1; cout << res << endl; return 0; }