#include <bits/stdc++.h>
#define all(x) x.begin(), x.end()
#define dbg(x) cerr << #x << " = " << x << endl
#define _ << ' ' <<
using namespace std;
using ll = long long;
using vi = vector<int>;
using ii = pair<int, int>;
using vii = vector<ii>;

set<int> g[300000];
vi h;
int p[300000], q[300000];

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n = 300000;
    int m = n/2;
    for (int i = 0; i < n; ++i)
    {
        p[i] = (i+1);
        p[i]--;
        q[p[i]] = i;
    }

    for (int i = 0; i < m; ++i)
    {
        int u, v;
        u = (i+1);
        v = n;
        g[v - 1].insert(u - 1);
        if (v - 1 == p[n - 1])
            h.push_back(u - 1);
    }

    sort(all(h), [](int a, int b) { return q[a] > q[b]; });
    int pos = n - 1, sol = 0;
    vi bad;
    for (int x : h)
    {
        for (int i = q[x] + 1; i < pos; ++i)
            bad.push_back(p[i]);

        bool good = true;
        for (int y : bad)
            if (g[y].find(x) == g[y].end())
                good = false;

        if (!good)
            break;

        sol++;
        pos = q[x];
    }
    cout << sol;
}