import java.util.*;

	

public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int k=sc.nextInt();

		System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1));
	}
	
	public static int pow(int a,int b){
		int x=1;
		for(int i=0;i<b;i++){
			x*=a;
		}
		return x;
	}
} import java.util.*; util.* java public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int k=sc.nextInt();

		System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1));
	}
	
	public static int pow(int a,int b){
		int x=1;
		for(int i=0;i<b;i++){
			x*=a;
		}
		return x;
	}
} Main public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int k=sc.nextInt();

		System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1));
	} main {
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int k=sc.nextInt();

		System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1));
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int a=sc.nextInt(); a sc.nextInt() sc.nextInt sc int b=sc.nextInt(); b sc.nextInt() sc.nextInt sc int c=sc.nextInt(); c sc.nextInt() sc.nextInt sc int k=sc.nextInt(); k sc.nextInt() sc.nextInt sc System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1)) System.out.println System.out System System.out a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1) c a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1) a b c Math.max(Math.max(a,b),c)*(pow(2,k)-1) Math.max(Math.max(a,b),c) Math.max Math Math.max(a,b) Math.max Math a b c (pow(2,k)-1) pow(2,k) pow 2 k 1 String[] args args public static int pow(int a,int b){
		int x=1;
		for(int i=0;i<b;i++){
			x*=a;
		}
		return x;
	} pow {
		int x=1;
		for(int i=0;i<b;i++){
			x*=a;
		}
		return x;
	} int x=1; x 1 for(int i=0;i<b;i++){
			x*=a;
		} int i=0; int i=0; i 0 i<b i b i++ i++ i {
			x*=a;
		} {
			x*=a;
		} x*=a x a return x; x int a a int b b public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int k=sc.nextInt();

		System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1));
	}
	
	public static int pow(int a,int b){
		int x=1;
		for(int i=0;i<b;i++){
			x*=a;
		}
		return x;
	}
} public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int k=sc.nextInt();

		System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1));
	}
	
	public static int pow(int a,int b){
		int x=1;
		for(int i=0;i<b;i++){
			x*=a;
		}
		return x;
	}
} Main
import java.util.*;

	

public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int k=sc.nextInt();

		System.out.println(a+b+c+Math.max(Math.max(a,b),c)*(pow(2,k)-1));
	}
	
	public static int pow(int a,int b){
		int x=1;
		for(int i=0;i<b;i++){
			x*=a;
		}
		return x;
	}
}