import java.util.*;
public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int ans= 0;
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int K = sc.nextInt();

		if (K<=A) {
			ans=K;
		}
		else{
			if (A<K&&K<=A+B) {
				ans=A;
			}
			else{
				ans=A-(K-(A+B));
			}
		
		}
		System.out.println(ans);
		//System.out.print(ans);
		

    }
} import java.util.*; util.* java public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int ans= 0;
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int K = sc.nextInt();

		if (K<=A) {
			ans=K;
		}
		else{
			if (A<K&&K<=A+B) {
				ans=A;
			}
			else{
				ans=A-(K-(A+B));
			}
		
		}
		System.out.println(ans);
		//System.out.print(ans);
		

    }
} Main public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int ans= 0;
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int K = sc.nextInt();

		if (K<=A) {
			ans=K;
		}
		else{
			if (A<K&&K<=A+B) {
				ans=A;
			}
			else{
				ans=A-(K-(A+B));
			}
		
		}
		System.out.println(ans);
		//System.out.print(ans);
		

    } main {
    	Scanner sc = new Scanner(System.in);
    	int ans= 0;
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int K = sc.nextInt();

		if (K<=A) {
			ans=K;
		}
		else{
			if (A<K&&K<=A+B) {
				ans=A;
			}
			else{
				ans=A-(K-(A+B));
			}
		
		}
		System.out.println(ans);
		//System.out.print(ans);
		

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

		if (K<=A) {
			ans=K;
		}
		else{
			if (A<K&&K<=A+B) {
				ans=A;
			}
			else{
				ans=A-(K-(A+B));
			}
		
		}
		System.out.println(ans);
		//System.out.print(ans);
		

    }
} public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int ans= 0;
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int K = sc.nextInt();

		if (K<=A) {
			ans=K;
		}
		else{
			if (A<K&&K<=A+B) {
				ans=A;
			}
			else{
				ans=A-(K-(A+B));
			}
		
		}
		System.out.println(ans);
		//System.out.print(ans);
		

    }
} Main
import java.util.*;
public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int ans= 0;
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int K = sc.nextInt();

		if (K<=A) {
			ans=K;
		}
		else{
			if (A<K&&K<=A+B) {
				ans=A;
			}
			else{
				ans=A-(K-(A+B));
			}
		
		}
		System.out.println(ans);
		//System.out.print(ans);
		

    }
}