Petr stands in line of n people, but he doesn't know exactly which position he occupies. He can say that there are no less than a people standing in front of him and no more than b people standing behind him. Find the number of different positions Petr can occupy.

Input

The only line contains three integers n, a and b (0 ≤ a, b < n ≤ 100).

Output

Print the single number — the number of the sought positions.

Examples

Input

3 1 1


Output

2


Input

5 2 3


Output

3

Note

The possible positions in the first sample are: 2 and 3 (if we number the positions starting with 1).

In the second sample they are 3, 4 and 5.
import java.io.*;
import java.util.*;

public class ASol {
	
	void solve() throws IOException {
		int n = nextInt();
		int a = nextInt();
		int b = nextInt();
		
		int col = 0;
		
		for( int i = 1; i <= n; ++i ){
			if( (i-1) >= a && (n-i) <= b ){
				col++;
			}
		}
		
		out.println( col );
	}

	private static final String INPUT_FILE = "inp.txt";

	public static void main(String[] args) throws IOException {
		// if (new File(INPUT_FILE).exists())
		// System.setIn(new FileInputStream(INPUT_FILE));
		new ASol().solve();
		out.close();
	}

	private BufferedReader in = new BufferedReader(new InputStreamReader(
			System.in));
	private static PrintWriter out = new PrintWriter(System.out);;
	private StringTokenizer st = new StringTokenizer("");

	String nextToken() throws IOException {
		while (!st.hasMoreTokens()) {
			st = new StringTokenizer(in.readLine());
		}
		return st.nextToken();
	}

	int nextInt() throws IOException {
		return Integer.parseInt(nextToken());
	}

	long nextLong() throws IOException {
		return Long.parseLong(nextToken());
	}

	double nextDouble() throws IOException {
		return Double.parseDouble(nextToken());
	}

	String nextLine() throws IOException {
		st = new StringTokenizer("");
		return in.readLine();
	}
}