import java.io.*;
import java.util.*;
import java.util.stream.*;

public class rgl {
  public static void main(String[] args) throws IOException {
    final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    final var n = Integer.parseInt(br.readLine());
    final var vs = br.readLine().split(" ");
    final var v = new int[n];
    for (int i = 0; i < n; i++) {
      v[i] = Integer.parseInt(vs[i]);
    }

    int cost = v[1] - v[0];
    int best = v[2] - v[0];
    for (int i = 0; i < n; i++) {
      if (i+1 < n) cost = Math.max(cost, v[i+1] - v[i]);
      if (i+2 < n) best = Math.min(best, v[i+2] - v[i]);
    }
    System.out.println(Math.max(cost, best));
  }
}
