import java.util.*;
import java.math.BigInteger;
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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    }
  }
} import java.util.*; util.* java import java.math.BigInteger; BigInteger java.math 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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    }
  }
} 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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    }
  } 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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    }
  } 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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    } k <= a k a {
      System.out.println(k);
    } System.out.println(k) System.out.println System.out System System.out k if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    } a < k && k <= a+b a < k a k k <= a+b k a+b a b {
      System.out.println(a);
    } System.out.println(a) System.out.println System.out System System.out a {
      System.out.println(2*a + b - k);
    } System.out.println(2*a + b - k) System.out.println System.out System System.out 2*a + b - k 2*a + b 2*a 2 a b k 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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    }
  }
} 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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    }
  }
} Main
import java.util.*;
import java.math.BigInteger;
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) {
      System.out.println(k);
    } else if (a < k && k <= a+b) {
      System.out.println(a);
    } else {
      System.out.println(2*a + b - k);
    }
  }
}
