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);
    }
}