import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().split(" ");
int[] v = new int[s.length];//原始数据
int[] v1 = new int[s.length];//记录某天之前的最低价格
int[] v2 = new int[s.length];//记录某天之后的最高价格
int[] r = new int[s.length - 1];//各分界点的最高利润
for(int i = 0; i < v.length; ++i) v[i] = Integer.valueOf(s[i]);
v1[0] = v[0];
v2[s.length - 1] = v[s.length - 1];
for(int i = 1; i < v.length - 1; ++i){
if(v[i] < v1[i - 1]) v1[i] = v[i];
else v1[i] = v1[i - 1];
}
for(int i = v.length - 2; i > 0; --i){
if(v[i] > v2[i + 1]) v2[i] = v[i];
else v2[i] = v2[i + 1];
}
for(int i = 0; i < r.length; ++i){
r[i] = v2[i + 1] - v1[i];//后半段的最高价格,减去前半段的最低价格
}
Arrays.sort(r);
int temp = r[r.length - 1];
if(temp < 0) temp = 0;//全赔就一次也不买
System.out.println(temp);
}
}