#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; using ll=long long; bool chmin(ll& a, ll b){ if(a > b){ a = b; return 1; } return 0; } bool chmax(int& a, int b){ if(a < b){ a = b; return 1; } return 0; } constexpr ll TEN(int n) { return (n == 0) ? 1 : 10 * TEN(n - 1); } const ll MOD = 998244353LL; using pll = pair; const int INF = 1e7; vector sieve(int X) { vector cs(X+1, true); for (int i = 2; i*i <= X; ++i) { if (cs[i]) { for (int j = i*i; j <= X; j+=i) cs[j] = false; } } vector ans; for (int i = 2; i <= X; ++i) if (cs[i]) ans.push_back(i); return ans; } ll gcd(ll a, ll b) { if (b==0) return a; return gcd(b, a%b); } int main() { ll N; cin >> N; int ans = (N&1) ? 1 : 1+N/2; cout << ans << endl; return 0; }