/*
**    author : Dhiraj Govindvira
**      date : 19 June 2021 ~ Saturday
**      time : 05:32:38 PM
*/

#include <bits/stdc++.h>
using namespace std;

#ifdef DHIRAJ
    #include "D:/dhiraj/Programming/debug.h"
#else
    #define dbg(...) 1
    #define cerr if(0) cerr
#endif

using ll = long long int;
#define endl '\n'

template <typename T, typename U>
inline istream & operator >> (istream &in, pair<T, U> &p) {
    in >> p.first >> p.second;
    return in;
}
template <typename T>
inline istream & operator >> (istream &in, vector<T> &v) {
    for(T &x : v) in >> x;
    return in;
}

void solve(ll &tc)
{
    ll n;
    cin >> n;

    ll day = 0;
    ll x = 0, y = 1;
    while(x < n) {
        day++;
        x += y;
        y++;
    }
    cout << day << endl;
}

int main()
{
    #ifdef DHIRAJ
        freopen("D:/dhiraj/Programming/i1.txt", "r", stdin);
        freopen("D:/dhiraj/Programming/o1.txt", "w", stdout);
        freopen("D:/dhiraj/Programming/e1.txt", "w", stderr);
    #endif

    ios::sync_with_stdio(0);
    cin.tie(0);

    ll rep = 2;
    while(rep--) {
        ll tc = 1;
        for(ll i = 1; i <= tc; i++) {
            // cout << "Case #" << i << ": ";
            cerr << "Case #" << i << "\n";
            solve(i);
        }
        if(dbg()) break;
    }
    return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int N  = 2e5+10;
int a[N];

void solve()
{
   int n;
   cin>>n;
   int ans = 0 ;
   for(int i=1;i<=N;i++)
   {
        a[i] =i;
        a[i]+=a[i-1];
        if(a[i]>=n)
        {
            cout<<i<<endl;
            return ;
        }
   }
}
int main()
{
    ios::sync_with_stdio(false);
    solve();
    return 0;
}
