#include<iostream> #include<algorithm> #include<limits.h> using namespace std; vector<int>maxs,mins; vector<bool>st; int where(int num, int n, int mi, int mx){ return (num-mi)*n/(mx-mi); } int vmax(vector<int>& arr, int n){ int mx=INT_MIN,mi=INT_MAX; for(int i=0;i<n;i++){ mx=max(mx,arr[i]); mi=min(mi,arr[i]); } int bid=0; for(int i=0;i<n;i++){ bid=where(arr[i], n, mi, mx); mins[bid]=st[bid]?min(mins[bid], arr[i]):arr[i]; maxs[bid]=st[bid]?max(maxs[bid], arr[i]):arr[i]; st[bid]=true; } int res=0; int lmx=maxs[0]; int i=1; for(;i<=n;i++){ if(st[i]){ res=max(res,mins[i]-lmx); lmx=maxs[i]; } } return res; } int main(void){ vector<int>arr; int k; while(cin>>k)arr.push_back(k); int n=arr.size(); maxs=vector<int>(n+1); mins=vector<int>(n+1); st=vector<bool>(n+1,false); cout<<vmax(arr,n)<<endl; }