import java.util.Scanner;
public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan =new Scanner(System.in);
		int A =scan.nextInt();
		int B =scan.nextInt();
		int C =scan.nextInt();
		int K=scan.nextInt();
		int result=0;
		if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		}
		System.out.println(result);
		
	}
} import java.util.Scanner; Scanner java.util public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan =new Scanner(System.in);
		int A =scan.nextInt();
		int B =scan.nextInt();
		int C =scan.nextInt();
		int K=scan.nextInt();
		int result=0;
		if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		}
		System.out.println(result);
		
	}
} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan =new Scanner(System.in);
		int A =scan.nextInt();
		int B =scan.nextInt();
		int C =scan.nextInt();
		int K=scan.nextInt();
		int result=0;
		if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		}
		System.out.println(result);
		
	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan =new Scanner(System.in);
		int A =scan.nextInt();
		int B =scan.nextInt();
		int C =scan.nextInt();
		int K=scan.nextInt();
		int result=0;
		if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		}
		System.out.println(result);
		
	} Scanner scan =new Scanner(System.in); scan new Scanner(System.in) int A =scan.nextInt(); A scan.nextInt() scan.nextInt scan int B =scan.nextInt(); B scan.nextInt() scan.nextInt scan int C =scan.nextInt(); C scan.nextInt() scan.nextInt scan int K=scan.nextInt(); K scan.nextInt() scan.nextInt scan int result=0; result 0 if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		} K<=A+B+C K A+B+C A+B+C A B C {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		} if(A>K)
				result=K;
			else 
			result=A*1; A>K A K result=K result K result=A*1 result A*1 A 1 if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			} K-A>0 K-A K A 0 {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			} result+=0*(K-A) result 0*(K-A) 0 (K-A) K A if(K-A-B>0) {
					result+=-1*(K-A-B);
				} K-A-B>0 K-A-B K-A-B K A B 0 {
					result+=-1*(K-A-B);
				} result+=-1*(K-A-B) result -1*(K-A-B) -1 1 (K-A-B) K-A-B K A B System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan =new Scanner(System.in);
		int A =scan.nextInt();
		int B =scan.nextInt();
		int C =scan.nextInt();
		int K=scan.nextInt();
		int result=0;
		if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		}
		System.out.println(result);
		
	}
} public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan =new Scanner(System.in);
		int A =scan.nextInt();
		int B =scan.nextInt();
		int C =scan.nextInt();
		int K=scan.nextInt();
		int result=0;
		if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		}
		System.out.println(result);
		
	}
} Main
import java.util.Scanner;
public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan =new Scanner(System.in);
		int A =scan.nextInt();
		int B =scan.nextInt();
		int C =scan.nextInt();
		int K=scan.nextInt();
		int result=0;
		if(K<=A+B+C) {
			if(A>K)
				result=K;
			else 
			result=A*1;
			if(K-A>0) {
				result+=0*(K-A);
				if(K-A-B>0) {
					result+=-1*(K-A-B);
				}
			}
		}
		System.out.println(result);
		
	}
}
