import java.util.Scanner;
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();
      if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      }
   }
} import java.util.Scanner; Scanner 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();
      if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      }
   }
} 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();
      if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      }
   } main {
		Scanner sc = new Scanner(System.in);
      int A=sc.nextInt();
      int B=sc.nextInt();
      int C=sc.nextInt();
      int K=sc.nextInt();
      if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      }
   } 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 if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      } K>=A&&A+B>=K K>=A K A A+B>=K A+B A B K {
         System.out.println(A);
      } System.out.println(A) System.out.println System.out System System.out A if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      } K<A K A {
         System.out.println(K);
      } System.out.println(K) System.out.println System.out System System.out K {
         System.out.println(A-(K-A-B));
      } System.out.println(A-(K-A-B)) System.out.println System.out System System.out A-(K-A-B) A (K-A-B) K-A-B K A B String[] args args 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();
      if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-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();
      if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      }
   }
} Main
import java.util.Scanner;
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();
      if(K>=A&&A+B>=K){
         System.out.println(A);
      }else if(K<A){
         System.out.println(K);
      }else{
         System.out.println(A-(K-A-B));
      }
   }
}
