import java.util.Scanner;

public class Main {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner cin = new Scanner(System.in);
    int A = cin.nextInt();
    int B = cin.nextInt();
    int C = cin.nextInt();
    int K = cin.nextInt();

    int ans = 0;
    for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    }
    for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    }
    for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    }
    System.out.println(ans);
  }

} import java.util.Scanner; Scanner java.util public class Main {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner cin = new Scanner(System.in);
    int A = cin.nextInt();
    int B = cin.nextInt();
    int C = cin.nextInt();
    int K = cin.nextInt();

    int ans = 0;
    for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    }
    for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    }
    for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    }
    System.out.println(ans);
  }

} Main /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner cin = new Scanner(System.in);
    int A = cin.nextInt();
    int B = cin.nextInt();
    int C = cin.nextInt();
    int K = cin.nextInt();

    int ans = 0;
    for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    }
    for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    }
    for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    }
    System.out.println(ans);
  } main {
    // TODO 自動生成されたメソッド・スタブ
    Scanner cin = new Scanner(System.in);
    int A = cin.nextInt();
    int B = cin.nextInt();
    int C = cin.nextInt();
    int K = cin.nextInt();

    int ans = 0;
    for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    }
    for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    }
    for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    }
    System.out.println(ans);
  } Scanner cin = new Scanner(System.in); cin new Scanner(System.in) int A = cin.nextInt(); A cin.nextInt() cin.nextInt cin int B = cin.nextInt(); B cin.nextInt() cin.nextInt cin int C = cin.nextInt(); C cin.nextInt() cin.nextInt cin int K = cin.nextInt(); K cin.nextInt() cin.nextInt cin int ans = 0; ans 0 for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    } int i=0; int i=0; i 0 i<A i A i++ i++ i {
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    } {
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    } K = K - 1 K K - 1 K 1 if (K < 0) break; K < 0 K 0 break; ans = ans + 1 ans ans + 1 ans 1 for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    } int i=0; int i=0; i 0 i<B i B i++ i++ i {
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    } {
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    } K = K - 1 K K - 1 K 1 if (K < 0) break; K < 0 K 0 break; ans = ans + 0 ans ans + 0 ans 0 for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    } int i=0; int i=0; i 0 i<C i C i++ i++ i {
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    } {
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    } K = K - 1 K K - 1 K 1 if (K < 0) break; K < 0 K 0 break; ans = ans - 1 ans ans - 1 ans 1 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner cin = new Scanner(System.in);
    int A = cin.nextInt();
    int B = cin.nextInt();
    int C = cin.nextInt();
    int K = cin.nextInt();

    int ans = 0;
    for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    }
    for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    }
    for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    }
    System.out.println(ans);
  }

} public class Main {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner cin = new Scanner(System.in);
    int A = cin.nextInt();
    int B = cin.nextInt();
    int C = cin.nextInt();
    int K = cin.nextInt();

    int ans = 0;
    for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    }
    for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    }
    for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    }
    System.out.println(ans);
  }

} Main
import java.util.Scanner;

public class Main {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner cin = new Scanner(System.in);
    int A = cin.nextInt();
    int B = cin.nextInt();
    int C = cin.nextInt();
    int K = cin.nextInt();

    int ans = 0;
    for (int i=0;i<A;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 1;
    }
    for (int i=0;i<B;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans + 0;
    }
    for (int i=0;i<C;i++){
      K = K - 1;
      if (K < 0) break;
      ans = ans - 1;
    }
    System.out.println(ans);
  }

}
