#include <bits/stdc++.h>
using namespace std;
#define FOR(i,k,n) for(int i = (k); i < (n); i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(a) a.begin(), a.end()
#define MS(m,v) memset(m,v,sizeof(m))
#define D10 fixed<<setprecision(10)
typedef vector<int> vi;
typedef vector<string> vs;
typedef pair<int, int> pii;
typedef long long ll;
typedef long double ld;
const int MOD = 1000000007;
const int INF = MOD + 1;
const ld EPS = 1e-10;
template<class T> T &chmin(T &a, const T &b) { return a = min(a, b); }
template<class T> T &chmax(T &a, const T &b) { return a = max(a, b); }
/*--------------------template--------------------*/
int gcd(int a, int b)
{
if (a < b) swap(a, b);
return (a%b ? gcd(a%b, b) : b);
}
int lcm(int a, int b)
{
return a / gcd(a, b)*b;
}
void extgcd(long a, long b, long& x, long& y)
{
if (b != 0) { extgcd(b, a % b, y, x); y -= a / b * x; }
else { x = 1; y = 0; }
}
int main()
{
ll a[] = { 25,2525,252525,25252525 };
ll n; cin >> n;
ll ans = 0;
REP(i, 4)
{
ans += n / a[i];
}
REP(i, 4)FOR(j, i+1, 4)
{
ll t = lcm(a[i], a[j]);
ans -= n / t;
}
REP(i, 4)FOR(j, i + 1, 4)FOR(k, j + 1, 4)
{
ll t = lcm(lcm(a[i], a[j]), a[k]);
ans += n / t;
}
cout << ans << endl;
return 0;
}