#include <bits/stdc++.h>
using namespace std;
vector<int> num;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n, k, maxi = 0, mini = 100001;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> k;
    num.push_back(k);
    maxi = max(maxi, k);
    mini = min(mini, k);
  }
  if (maxi == mini) {
    cout << "0";
    return 0;
  }
  sort(num.begin(), num.end());
  if (num[0] == num[1] && num[n - 1] == num[n - 2])
    cout << maxi - mini;
  else if (num[0] == num[1] && num[n - 1] != num[n - 2])
    cout << num[n - 2] - num[1];
  else if (num[0] != num[1] && num[n - 1] == num[n - 2])
    cout << num[n - 1] - num[1];
  else
    cout << min(num[n - 2] - num[0], num[n - 1] - num[1]);
  return 0;
}
