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();
		
		sc.close();
		
		int ans = 0;
		
		if(K<A) {
			ans = K;
		}else if(K<=A+B) {
			ans = A;
		}else {
			ans = 2*A+B-K;;
		}
		
		System.out.println(ans);
	}

} 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();
		
		sc.close();
		
		int ans = 0;
		
		if(K<A) {
			ans = K;
		}else if(K<=A+B) {
			ans = A;
		}else {
			ans = 2*A+B-K;;
		}
		
		System.out.println(ans);
	}

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

} 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();
		
		sc.close();
		
		int ans = 0;
		
		if(K<A) {
			ans = K;
		}else if(K<=A+B) {
			ans = A;
		}else {
			ans = 2*A+B-K;;
		}
		
		System.out.println(ans);
	}

} 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();
		
		sc.close();
		
		int ans = 0;
		
		if(K<A) {
			ans = K;
		}else if(K<=A+B) {
			ans = A;
		}else {
			ans = 2*A+B-K;;
		}
		
		System.out.println(ans);
	}

}