#include<bits/stdc++.h>
#define LL long long
#define dl double
template <class T>
void rd(T &x){
    x=0;T f=1;char ch=getchar();
    while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch<='9' && ch>='0'){x=x*10+ch-'0';ch=getchar();}x*=f;
}

using namespace std;

int main(){
    // freopen("in.txt","r",stdin);
    // freopen("o.txt","w",stdout);
    LL n;
    rd(n);
    LL l = 1,r = n + 1;
    while(l != r){
        LL mid = (l + r) / 2 + 1;
        __int128 a1 = 1;
        a1 = a1 * (n + 1 - mid + 1) * (mid + n + 1) / 2;
        __int128 a2 = 1;
        a2 = a2 * n * (n + 1) / 2;
        if(a1 < a2)r = mid - 1;
        else l = mid;
    }
    cout << n + 1 - l + 1 << endl;
    return 0;
}
/**/
#include<bits/stdc++.h>

using namespace std;

#define all(x) (x).begin(),(x).end()

using ll = long long;
using P = pair<int,int>;
using mp =  map<int,int>;

const int MOD = 1e9 + 7;
const int INF = 1001001001;


int main(){

    int k;
    cin >> k;

    ll ans = 0;
    for(int i = 1; i <= k; i++){
        for(int j = 1; j <= k / i; j++){
            //cout << i << " " << j <<  " " << (int)(k / (i * j)) << "\n";
            int tmp = k / (i * j);
            ans += tmp;
        }
    }

    cout << ans << "\n";


    return 0;
}
