package test.demo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.util.TreeSet; public class Yukicoder851 { static boolean flag=true; public static void main(String[] args) throws IOException { String A=""; String B=""; String C=""; String D=""; long a=0; long b=0; long c=0; long d=0; List list=new ArrayList(); for(int i=0;i<4;i++) { if(!flag) { break; } switch(i) { case 0: A=input()[0]; a=Long.valueOf(A); break; case 1: B=input()[0]; b=Long.valueOf(B); list.add(a+b); break; case 2: C=input()[0]; c=Long.valueOf(C); list.add(a+c); list.add(b+c); break; case 3: D=input()[0]; d=Long.valueOf(D); list.add(a+d); list.add(b+d); list.add(c+d); break; } } if(flag) { TreeSet set=new TreeSet(list); set.remove(set.last()); System.out.println(set.last()); } } public static String[] input() throws IOException { BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); String str=br.readLine(); String[]str2=str.split(" "); if(str2.length>1) { System.out.println("assert"); flag=false; } return str2; } }