#include <bits/stdc++.h>
#define int long long
using namespace std;
int R[60] = { 0, 0, 1000000000, 1000000, 31622, 3981, 1000, 372, 177, 100, 63, 43, 31, 24, 19, 15, 13, 11, 10, 8, 7, 7, 6, 6, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 };
int H[60];
int P[17] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59 };
int qpow ( int x, int p ) {
int res = 1;
while ( p ) {
if ( p & 1 ) res = res * x;
x = x * x;
p >>= 1;
}
return res;
}
signed main ( ) {
int n; cin >> n;
for ( int i = 2; i <= 59; i ++ ) {
int l = 0, r = R[i] + 1;
while ( l + 1 < r ) {
int mid = l + r >> 1;
if ( qpow ( mid, i ) <= n ) l = mid;
else r = mid;
}
H[i] = l;
}
int ans = 0;
for ( int i = 1; i < ( 1 << 17 ); i ++ ) {
int ok = 1, res = 1;
for ( int j = 0; j < 17; j ++ )
if ( ( i >> j ) & 1 ) {
res = res * P[j];
if ( res > 59 ) { ok = 0; break;}
}
if ( ok == 0 ) break;
ans += ( ( __builtin_popcount ( i ) & 1 ) ? 1 : -1 ) * H[res];
}
cout << ans + 1 << "\n";
}