#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; static const double EPS = 1e-8; static const double PI = 4.0 * atan(1.0); static const double PI2 = 8.0 * atan(1.0); #define REP(i,n) for(int i=0;i<(int)n;++i) #define ALL(c) (c).begin(),(c).end() #define CLEAR(v) memset(v,0,sizeof(v)) #define MP(a,b) make_pair((a),(b)) #define ABS(a) ((a)>0?(a):-(a)) #define FOR(i,s,n) for(int i=s;i<(int)n;++i) // 2014/7/23(水) // 2015 <= N <= 10^10 ll cnt[2800]; int main(int argc, char **argv) { ll N; cin >> N; CLEAR(cnt); ll c = 0, d = 0; FOR(i, 2015, 2015 + 2800) { if (i % 400 == 0 || (i % 100 != 0 && i % 4 == 0)) d += 366 % 7; else d += 365 % 7; d %= 7; if (d == 0) ++c; cnt[i - 2015] = c; } N -= 2015; cout << (N / 2800 * c + cnt[N % 2800]) << endl; return 0; }