#include <bits/stdc++.h>
using namespace std;
#define int long long
#define bint __int128
#define _3bkarm cin.tie(NULL); cout.tie(NULL); ios::sync_with_stdio(false);
const int N = 1001;
int dp[N][N];
vector<int> have;
int solve(int at, int x) {
if ( at == have.size() or have[at] > x ) return x;
int& ans = dp[at][x];
if (~ans) return ans;
return ans = min( solve(at + 1, x), solve(at + 1, x - have[at]) );
}
void getShitDone() {
int n, k, l;
cin >> n >> k >> l;
int r = n - k - l;
if (l > r) swap(l, r);
if (l == r) {
if (l == k) {
if (k == 1) {
cout << 2;
} else if (k == 2) {
cout << 3;
} else if (k == 3) {
cout << 3;
} else if (k == 4) {
cout << 2;
} else {
cout << 0;
}
} else {
for (int i = 1; i < r; ++i) if (i != k) have.push_back(i);
memset( dp, -1, sizeof(dp) );
cout << solve(0, r);
}
} else if (l > k or r < k) {
cout << 0;
} else if (l == k) {
if (k <= 2) {
cout << 1;
} else {
cout << 0;
}
} else if (r == k) {
if (k == 1) {
if (l == 0) {
cout << 1;
} else {
cout << -1;
}
} else if (k == 2) {
if (l == 0) {
cout << 1;
} else if (l == 1) {
cout << 2;
} else {
cout << -1;
}
} else if (k == 3) {
if (l == 0) {
cout << 0;
} else if (l == 1) {
cout << 1;
} else if (l == 2) {
cout << 2;
} else {
cout << -1;
}
} else if (k == 4) {
if (l == 0) {
cout << 0;
} else if (l == 1) {
cout << 1;
} else if (l == 2) {
cout << 0;
} else if (l == 3) {
cout << 1;
} else {
cout << -1;
}
} else {
cout << 0;
}
} else {
cout << 0;
}
}
signed main() {
_3bkarm
int ts = 1;
// cin >> ts;
while (ts--) {
getShitDone();
if (ts != 0) cout << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgYmludCBfX2ludDEyOAojZGVmaW5lIF8zYmthcm0gY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7IGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCmNvbnN0IGludCBOID0gMTAwMTsKCmludCBkcFtOXVtOXTsKCnZlY3RvcjxpbnQ+IGhhdmU7CmludCBzb2x2ZShpbnQgYXQsIGludCB4KSB7CiAgICBpZiAoIGF0ID09IGhhdmUuc2l6ZSgpIG9yIGhhdmVbYXRdID4geCApIHJldHVybiB4OwogICAgaW50JiBhbnMgPSBkcFthdF1beF07CiAgICBpZiAofmFucykgcmV0dXJuIGFuczsKICAgIHJldHVybiBhbnMgPSBtaW4oIHNvbHZlKGF0ICsgMSwgeCksIHNvbHZlKGF0ICsgMSwgeCAtIGhhdmVbYXRdKSApOwp9Cgp2b2lkIGdldFNoaXREb25lKCkgewogICAgaW50IG4sIGssIGw7CiAgICBjaW4gPj4gbiA+PiBrID4+IGw7CgogICAgaW50IHIgPSBuIC0gayAtIGw7CiAgICBpZiAobCA+IHIpIHN3YXAobCwgcik7CgogICAgaWYgKGwgPT0gcikgewogICAgICAgIGlmIChsID09IGspIHsKICAgICAgICAgICAgaWYgKGsgPT0gMSkgewogICAgICAgICAgICAgICAgY291dCA8PCAyOwogICAgICAgICAgICB9IGVsc2UgaWYgKGsgPT0gMikgewogICAgICAgICAgICAgICAgY291dCA8PCAzOwogICAgICAgICAgICB9IGVsc2UgaWYgKGsgPT0gMykgewogICAgICAgICAgICAgICAgY291dCA8PCAzOwogICAgICAgICAgICB9IGVsc2UgaWYgKGsgPT0gNCkgewogICAgICAgICAgICAgICAgY291dCA8PCAyOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY291dCA8PCAwOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCByOyArK2kpIGlmIChpICE9IGspIGhhdmUucHVzaF9iYWNrKGkpOwogICAgICAgICAgICBtZW1zZXQoIGRwLCAtMSwgc2l6ZW9mKGRwKSApOwogICAgICAgICAgICBjb3V0IDw8IHNvbHZlKDAsIHIpOwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAobCA+IGsgb3IgciA8IGspIHsKICAgICAgICBjb3V0IDw8IDA7CiAgICB9IGVsc2UgaWYgKGwgPT0gaykgewogICAgICAgIGlmIChrIDw9IDIpIHsKICAgICAgICAgICAgY291dCA8PCAxOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvdXQgPDwgMDsKICAgICAgICB9CiAgICB9IGVsc2UgaWYgKHIgPT0gaykgewogICAgICAgIGlmIChrID09IDEpIHsKICAgICAgICAgICAgaWYgKGwgPT0gMCkgewogICAgICAgICAgICAgICAgY291dCA8PCAxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY291dCA8PCAtMTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoayA9PSAyKSB7CiAgICAgICAgICAgIGlmIChsID09IDApIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgMTsKICAgICAgICAgICAgfSBlbHNlIGlmIChsID09IDEpIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgMjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgLTE7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGsgPT0gMykgewogICAgICAgICAgICBpZiAobCA9PSAwKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IDA7CiAgICAgICAgICAgIH0gZWxzZSBpZiAobCA9PSAxKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IDE7CiAgICAgICAgICAgIH0gZWxzZSBpZiAobCA9PSAyKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IDI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IC0xOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChrID09IDQpIHsKICAgICAgICAgICAgaWYgKGwgPT0gMCkgewogICAgICAgICAgICAgICAgY291dCA8PCAwOwogICAgICAgICAgICB9IGVsc2UgaWYgKGwgPT0gMSkgewogICAgICAgICAgICAgICAgY291dCA8PCAxOwogICAgICAgICAgICB9IGVsc2UgaWYgKGwgPT0gMikgewogICAgICAgICAgICAgICAgY291dCA8PCAwOwogICAgICAgICAgICB9IGVsc2UgaWYgKGwgPT0gMykgewogICAgICAgICAgICAgICAgY291dCA8PCAxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY291dCA8PCAtMTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvdXQgPDwgMDsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIGNvdXQgPDwgMDsKICAgIH0KfQoKc2lnbmVkIG1haW4oKSB7CiAgICBfM2JrYXJtCgogICAgaW50IHRzID0gMTsKLy8gICAgY2luID4+IHRzOwogICAgd2hpbGUgKHRzLS0pIHsKICAgICAgICBnZXRTaGl0RG9uZSgpOwogICAgICAgIGlmICh0cyAhPSAwKSBjb3V0IDw8ICdcbic7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=