import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> ar = new ArrayList<Integer>();
    int A = sc.nextInt();
    ar.add(A);
    int B = sc.nextInt();
    ar.add(B);
    int C = sc.nextInt();
    ar.add(C);
    int K = sc.nextInt();
    Collections.sort(ar);
    for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    }
    Collections.sort(ar);
    System.out.println(ar.get(0)+ar.get(1)+ar.get(2));
  }
} import java.util.*; util.* java public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> ar = new ArrayList<Integer>();
    int A = sc.nextInt();
    ar.add(A);
    int B = sc.nextInt();
    ar.add(B);
    int C = sc.nextInt();
    ar.add(C);
    int K = sc.nextInt();
    Collections.sort(ar);
    for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    }
    Collections.sort(ar);
    System.out.println(ar.get(0)+ar.get(1)+ar.get(2));
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> ar = new ArrayList<Integer>();
    int A = sc.nextInt();
    ar.add(A);
    int B = sc.nextInt();
    ar.add(B);
    int C = sc.nextInt();
    ar.add(C);
    int K = sc.nextInt();
    Collections.sort(ar);
    for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    }
    Collections.sort(ar);
    System.out.println(ar.get(0)+ar.get(1)+ar.get(2));
  } main {
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> ar = new ArrayList<Integer>();
    int A = sc.nextInt();
    ar.add(A);
    int B = sc.nextInt();
    ar.add(B);
    int C = sc.nextInt();
    ar.add(C);
    int K = sc.nextInt();
    Collections.sort(ar);
    for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    }
    Collections.sort(ar);
    System.out.println(ar.get(0)+ar.get(1)+ar.get(2));
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) ArrayList<Integer> ar = new ArrayList<Integer>(); ar new ArrayList<Integer>() int A = sc.nextInt(); A sc.nextInt() sc.nextInt sc ar.add(A) ar.add ar A int B = sc.nextInt(); B sc.nextInt() sc.nextInt sc ar.add(B) ar.add ar B int C = sc.nextInt(); C sc.nextInt() sc.nextInt sc ar.add(C) ar.add ar C int K = sc.nextInt(); K sc.nextInt() sc.nextInt sc Collections.sort(ar) Collections.sort Collections ar for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    } int i=0; int i=0; i 0 i<K i K i++ i++ i {
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    } {
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    } if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      } ar.get(2) == A ar.get(2) ar.get ar 2 A {
        ar.remove(2);
        A *= 2;
        ar.add(A);
      } ar.remove(2) ar.remove ar 2 A *= 2 A 2 ar.add(A) ar.add ar A if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      } ar.get(2) == B ar.get(2) ar.get ar 2 B {
        ar.remove(2);
        B *= 2;
        ar.add(B);
      } ar.remove(2) ar.remove ar 2 B *= 2 B 2 ar.add(B) ar.add ar B {
        ar.remove(2);
        C *= 2;
        ar.add(C);
      } ar.remove(2) ar.remove ar 2 C *= 2 C 2 ar.add(C) ar.add ar C Collections.sort(ar) Collections.sort Collections ar System.out.println(ar.get(0)+ar.get(1)+ar.get(2)) System.out.println System.out System System.out ar.get(0)+ar.get(1)+ar.get(2) ar.get(0)+ar.get(1)+ar.get(2) ar.get(0) ar.get ar 0 ar.get(1) ar.get ar 1 ar.get(2) ar.get ar 2 String[] args args public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> ar = new ArrayList<Integer>();
    int A = sc.nextInt();
    ar.add(A);
    int B = sc.nextInt();
    ar.add(B);
    int C = sc.nextInt();
    ar.add(C);
    int K = sc.nextInt();
    Collections.sort(ar);
    for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    }
    Collections.sort(ar);
    System.out.println(ar.get(0)+ar.get(1)+ar.get(2));
  }
} public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> ar = new ArrayList<Integer>();
    int A = sc.nextInt();
    ar.add(A);
    int B = sc.nextInt();
    ar.add(B);
    int C = sc.nextInt();
    ar.add(C);
    int K = sc.nextInt();
    Collections.sort(ar);
    for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    }
    Collections.sort(ar);
    System.out.println(ar.get(0)+ar.get(1)+ar.get(2));
  }
} Main
import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> ar = new ArrayList<Integer>();
    int A = sc.nextInt();
    ar.add(A);
    int B = sc.nextInt();
    ar.add(B);
    int C = sc.nextInt();
    ar.add(C);
    int K = sc.nextInt();
    Collections.sort(ar);
    for(int i=0;i<K;i++){
      if(ar.get(2) == A){
        ar.remove(2);
        A *= 2;
        ar.add(A);
      }else if(ar.get(2) == B){
        ar.remove(2);
        B *= 2;
        ar.add(B);
      }else{
        ar.remove(2);
        C *= 2;
        ar.add(C);
      }
    }
    Collections.sort(ar);
    System.out.println(ar.get(0)+ar.get(1)+ar.get(2));
  }
}
