#ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif using namespace std; int main() { int a, b, c; cin >> a >> b >> c; int ans = 0; if (a >= c) { if (abs(c - a) <= abs(c - b)) { ans = a; } else { if (c != 1) ans += abs(c - b); ans += min(abs(a - c), c - 1); ans += a; } } else { if (a == 0) { a++; ans++; } if (abs(c - b) > abs(c - a)) { ans += abs(c - a); } else { ans += abs(c - b); } ans += c; } cout << ans << endl; return 0; }