#include <iostream>
#include <map>

using namespace std;

map <long long, unsigned int> mp;

unsigned int f(const long long n)
{
	if (n <= 2)
		return 1;

	if (mp[n])
		return mp[n];

	if (n % 2)
		return mp[n] = f(6 * n / 7) + f(2 * n / 3);

	return mp[n] = f(n - 1) + f(n - 3);
}

int main()
{
	long long n;
	cin >> n;
	cout << f(n) << endl;
}