#include <bits/stdc++.h>
int main() {
  int n, i, op = 1;
  int cantidad = 0, j;
  scanf("%d", &n);
  int vec[n];
  for (i = 0; i < n; i++) {
    scanf("%d", &vec[i]);
  }
  while (op) {
    for (i = 0; i < n; i++) {
      if (!vec[i + 1]) {
        if (i < n - 1 && !vec[i + 2]) {
          op = 0;
          break;
        }
      }
    }
    if (!vec[0] || !vec[n - 1]) {
      op = 0;
    }
    for (j = 0; j < n && op; j++) {
      if (vec[j] > 0) {
        vec[j] = vec[j] - 1;
      }
    }
    cantidad++;
  }
  printf("%d", cantidad - 1);
  return 0;
}
