/*
uu$$$$$$$$$$$uu
uu$$$$$$$$$$$$$$$$$uu
u$$$$$$$$$$$$$$$$$$$$$u
u$$$$$$$$$$$$$$$$$$$$$$$u
u$$$$$$$$$$$$$$$$$$$$$$$$$u
u$$$$$$$$$$$$$$$$$$$$$$$$$u
u$$$$$$= =$$$= =$$$$$$u
=$$$$= u$u $$$$=
$$$u u$u u$$$
$$$u u$$$u u$$$
=$$$$uu$$$ $$$uu$$$$=
=$$$$$$$= =$$$$$$$=
u$$$$$$$$$$$$$$$u
u$=$=$=$=$=$=$u
uuu $$u$ $ $ $ $u$$ uuu
u$$$$ $$$$$u$u$u$$$ u$$$$
$$$$$uu =$$$$$$$$$= uu$$$$$$
u$$$$$$$$$$$uu ===== uuuu$$$$$$$$$
$$$$===$$$$$$$$$$uuu uu$$$$$$$$$===$$$=
=== ==$$$$$$$$$$$uu ==$===
uuuu ==$$$$$$$$$$uuu
u$$$uuu$$$$$$$$$uu ==$$$$$$$$$$$uuu$$$
$$$$$$$$$$==== ==$$$$$$$$$$$=
=$$$$$= ==$$$$==
$$$= $$$$=
*/
#include <bits/stdc++.h>
using namespace std;
#define Fast \
{ \
ios_base::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0); \
}
#define ll long long
const int N = 3005;
vector<bool> isPrime(N, true);
void sieve()
{
isPrime[0] = isPrime[1] = false;
for (int i = 2; i * i < N; i++)
{
if (isPrime[i])
for (int m = i * i; m < N; m += i)
{
isPrime[m] = false;
}
}
}
vector<int> divisor(int n)
{
vector<int> ret;
for (int i = 1; i * i <= n; i++)
{
if (n % i == 0)
{
ret.push_back(i);
if (i * i != n)
ret.push_back(n / i);
}
}
return ret;
}
void sol()
{
sieve();
int n, ans = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
int cnt = 0;
vector<int> a = divisor(i);
for (int i = 0; i < a.size(); i++)
{
if (isPrime[a[i]])
cnt++;
}
if (cnt == 2)
ans++;
}
cout << ans;
}
int32_t main()
{
Fast;
int t = 1;
// cin >> t;
while (t--)
{
sol();
}
}