#include <sys/time.h>

#include <iostream>
#include <iomanip>
#include <algorithm>
#include <utility>
#include <cmath>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <deque>
#include <utility>
#include <cctype>
#include <cstdlib>
#include <typeinfo>

/*
#include <atcoder/all>
using namespace atcoder;
*/

/*
#include <boost/multiprecision/cpp_int.hpp>

namespace mp = boost::multiprecision;
using BigInt = mp::cpp_int;
*/
// https://yamakasa.net/atcoder-abc-029-d/

using namespace std;

using ll = long long;
using i_i = pair<int, int>;
using l_l = pair<ll, ll>;
using ld = long double;

#define rep(i, n) for(int i = 0; i < (int)(n); i++)
#define mkp(a, b) make_pair(a, b)

const ll MOD = 1000000007LL;
const ll INF = 1e9;

const ld gomi = 0.0000000000001;


int main() {
	ll k;
	cin >> k;
	ll count = 0;

	for(ll a = 1; a <= k; a++) {
		for(ll b = 1; b <= k; b++) {
			if (a * b > k) break;
			int c_max = k / (a * b);
			count += c_max;
		}
	}
	cout << count << endl;

	return 0;
}


#include <iostream>
#include <string>
#include <array>
#include <vector>
#include <set>
#include <map>

#define INI_1(N) N
#define INI_5(N) N, N, N, N, N
#define INT_10(N) INT_5(N), INT_5(N)
#define INT_20(N) INT_10(N), INT_10(N)
#define INT_50(N) INT_10(N), INT_20(N), INT_20(N)
#define INT_100(N) INT_50(N), INT_50(N)
#define INT_1000(N) INT_100(N), INT_100(N), INT_100(N), \
                    INT_100(N), INT_100(N), INT_100(N), \
                    INT_100(N), INT_100(N), INT_100(N), \
                    INT_100(N)


template <typename T>
using vector = std::vector<T>;

template <typename T, std::size_t N>
using array = std::array<T, N>;

using string = std::string;

template <typename T>
using set = std::set<T>;

template <typename T, typename U>
using map = std::map<T, U>;

template <typename T, typename U>
using pair = std::pair<T, U>;

using std::cin;
using std::cout;

int main(void) {
    int n;
    cin >> n;
    cout << (n / 100) + (n%100 != 0) << '\n';
}
