#include<bits/stdc++.h>
using namespace std;
#define MAXN 100000
int main()
{
int N;
cin>>N;
vector v(N);
for(int i=0; i<N; i++)
{
cin>>v[i];
}
int min=1000000, pos;
for(int i=1; i<N-1; i++)
{
if(v[i]-v[0]>=v[N-1]-v[i])
pos=v[i]-v[0];
else
pos=v[N-1]-v[i];
if(pos<min)
min=pos;
}
cout<<min;
}
mi da 80/100 sapete per quale motivo?