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.math.*;
import java.util.*;

public class FirstApp {
 private static MyScanner in;
 private static PrintStream out;
 private static void solve() throws IOException
 {
	int n= in.nextInt();
	int a=in.nextInt();
	int b=in.nextInt();
	int count=0;
	for ( int i=0 ; i<n;++i)
		if( (a+1<=i) && (n-i<=b))
			++count;
	System.out.print(count+1);
}
    

 public static void main(String[] args) throws IOException {
	 in = new MyScanner();
	out = System.out;
  solve();
 }

 // =====================================
 static class MyScanner {
  BufferedReader bufReader;
  StringTokenizer strTok;

  public MyScanner() throws IOException
  {
   bufReader = new BufferedReader(new InputStreamReader(System.in));
   strTok = new StringTokenizer("");
  }

  String GetNextToken() throws IOException {
   if (!strTok.hasMoreTokens())
    strTok = new StringTokenizer(bufReader.readLine());
   return strTok.nextToken();
  }

  public int nextInt() throws IOException {
   return Integer.valueOf(GetNextToken());
  }
  public String nextString() throws IOException {
   return GetNextToken();
  }

 }

}

