#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  scanf("%d %d", &n, &m);
  int vec[n];
  for (int i = 0; i < n; i++) scanf("%d", &vec[i]);
  int ini = 0, fin = m;
  while (ini != fin) {
    int med = (ini + fin) / 2;
    int ant = 0;
    bool sw = true;
    for (int i = 0; i < n; i++) {
      if (vec[i] >= ant) {
        if (m - (vec[i] - ant) <= med)
          continue;
        else
          ant = vec[i];
      } else if (ant - vec[i] > med) {
        sw = false;
        break;
      }
    }
    if (sw)
      fin = med;
    else
      ini = med + 1;
  }
  printf("%d\n", ini);
  return 0;
}
