#include <bits/stdc++.h>
int max(int a, int b) {
  if (a < b) return b;
  return a;
}
int main() {
  int a, n, b;
  scanf("%d%d%d", &n, &a, &b);
  int tmp = n - a;
  if (tmp <= b + 1) {
    printf("%d", tmp);
  } else {
    printf("%d", b + 1);
  }
  return 0;
}

### Prompt

Construct a cpp code solution to the problem outlined:

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.

### Response

```cpp
#include <bits/stdc++.h>
int max(int a, int b) {
  if (a < b) return b;
  return a;
}
int main() {
  int a, n, b;
  scanf("%d%d%d", &n, &a, &b);
  int tmp = n - a;
  if (tmp <= b + 1) {
    printf("%d", tmp);
  } else {
    printf("%d", b + 1);
  }
  return 0;
}

```