import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.HashSet;

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();
    int ans=0;
    while(true){
      if(K==0){
        break;
      }
     while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     }

    }


      System.out.println(ans);




  }
} import java.util.Scanner; Scanner java.util import java.util.Arrays; Arrays java.util import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.stream.Collectors; Collectors java.util.stream import java.util.HashSet; HashSet java.util 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();
    int ans=0;
    while(true){
      if(K==0){
        break;
      }
     while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     }

    }


      System.out.println(ans);




  }
} 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();
    int ans=0;
    while(true){
      if(K==0){
        break;
      }
     while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     }

    }


      System.out.println(ans);




  } main {
    Scanner sc = new Scanner(System.in);
    int A=sc.nextInt();
    int B=sc.nextInt();
    int C=sc.nextInt();
    int K=sc.nextInt();
    int ans=0;
    while(true){
      if(K==0){
        break;
      }
     while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     }

    }


      System.out.println(ans);




  } 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 int ans=0; ans 0 while(true){
      if(K==0){
        break;
      }
     while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     }

    } true {
      if(K==0){
        break;
      }
     while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     }

    } if(K==0){
        break;
      } K==0 K 0 {
        break;
      } break; while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     } A>0 A 0 {
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     } K-- K A-- A ans++ ans if(K==0){
         break;
       } K==0 K 0 {
         break;
       } break; if(K==0){
       break;
     } K==0 K 0 {
       break;
     } break; while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     } B>0 B 0 {
       K--;
       B--;
       if(K==0){
         break;
       }
     } K-- K B-- B if(K==0){
         break;
       } K==0 K 0 {
         break;
       } break; if(K==0){
       break;
     } K==0 K 0 {
       break;
     } break; while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     } C>0 C 0 {
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     } C-- C K-- K ans-- ans if(K==0){
         break;
       } K==0 K 0 {
         break;
       } break; System.out.println(ans) System.out.println System.out System System.out ans String[] args args
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.HashSet;

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();
    int ans=0;
    while(true){
      if(K==0){
        break;
      }
     while(A>0){
       K--;
       A--;
       ans++;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(B>0){
       K--;
       B--;
       if(K==0){
         break;
       }
     }
     if(K==0){
       break;
     }
     while(C>0){
       C--;
       K--;
       ans--;
       if(K==0){
         break;
       }
     }

    }


      System.out.println(ans);




  }
}
