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.
#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000001;
const double EPS = 10e-9;
inline int gcd(int x, int y) {
  for (int t; y; t = x % y, x = y, y = t)
    ;
  return x;
}
inline long long gcd(long long x, long long y) {
  for (long long t; y; t = x % y, x = y, y = t)
    ;
  return x;
}
inline void read(int &x) {
  char cc = getchar();
  while (cc < '0' || cc > '9') cc = getchar();
  x = 0;
  while (cc >= '0' && cc <= '9') {
    x = x * 10 + cc - '0';
    cc = getchar();
  }
}
int ri() {
  int x;
  scanf("%d", &x);
  return x;
}
int main() {
  int n, a, b;
  cin >> n >> a >> b;
  if (b <= n - a - 1)
    cout << b + 1;
  else
    cout << n - a;
  return 0;
}
