import java.util.Scanner;

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

public class Main {
    public static void main(String[] args) {
        try (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);
                return;
            }
            if (K <= A + B) {
                System.out.println(A);
                return;
            }
            System.out.println(A - (K - (A + B)));
        }
    }
}
