#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, a[100001];
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  int minii = 100001, br, nu;
  int mini = 100001, maxi = -1;
  for (int j = 0; j < n; j++) {
    if (a[j] < mini) {
      mini = a[j];
      br = j;
    }
    if (a[j] > maxi) {
      maxi = a[j];
      nu = j;
    }
  }
  int nes, nez;
  mini = 100001;
  maxi = -1;
  for (int i = 0; i < n; i++) {
    if (i == br) continue;
    if (a[i] < mini) mini = a[i];
    if (a[i] > maxi) maxi = a[i];
  }
  nes = maxi - mini;
  mini = 100001;
  maxi = -1;
  for (int i = 0; i < n; i++) {
    if (i == nu) continue;
    if (a[i] < mini) mini = a[i];
    if (a[i] > maxi) maxi = a[i];
  }
  nez = maxi - mini;
  if (nez < nes)
    cout << nez;
  else
    cout << nes;
}
