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();
      int score = 0;
      if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      }
      System.out.println(score);
    }
} 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();
      int score = 0;
      if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      }
      System.out.println(score);
    }
} 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 score = 0;
      if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      }
      System.out.println(score);
    } main {      
      Scanner sc = new Scanner(System.in);
      int A = sc.nextInt();
      int B = sc.nextInt();
      int C = sc.nextInt();
      int K = sc.nextInt();
      int score = 0;
      if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      }
      System.out.println(score);
    } 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 score = 0; score 0 if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      } K < A K A {
        score = K;
      } score = K score K if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      } K <= A + B K A + B A B {
        score = A;
      } score = A score A {
        score = A - (K - A - B); 
      } score = A - (K - A - B) score A - (K - A - B) A (K - A - B) K - A - B K A B System.out.println(score) System.out.println System.out System System.out score 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();
      int score = 0;
      if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      }
      System.out.println(score);
    }
} 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();
      int score = 0;
      if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      }
      System.out.println(score);
    }
} 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();
      int score = 0;
      if (K < A) {
        score = K;
      } else if(K <= A + B) {
        score = A;
      } else {
        score = A - (K - A - B); 
      }
      System.out.println(score);
    }
}