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;
bool siv[100000];
vector<long long> prime;
void sieve();
void pri();
long long int fact(long long int n);
int main() {
  int n, a, b;
  cin >> n >> a >> b;
  int ans = n - a;
  if (ans > b) {
    cout << b + 1 << endl;
  } else {
    cout << ans << endl;
  }
}
void sieve() {
  memset(siv, true, sizeof(siv));
  int root = sqrt(100000);
  for (int i = 2; i <= root; i++) {
    for (int j = i * 2; j <= 100000; j += i) {
      siv[j] = false;
    }
  }
}
void pri() {
  sieve();
  siv[0] = false;
  siv[1] = false;
  for (int i = 0; i < 100000; i++)
    if (siv[i] == true) prime.push_back(i);
}
long long int fact(long long int n) {
  long long int ans = 1;
  for (long long int i = 1; i <= n; i++) {
    ans *= i;
  }
  return ans;
}
