#include #include #include #include #include #include #include #include #include // require sort next_permutation count __gcd reverse etc. #include // require abs exit atof atoi #include // require scanf printf #include #include // require accumulate #include // require fabs #include #include #include #include // require setw #include // require stringstream #include // require memset #include // require tolower, toupper #include // require freopen #include // require srand #define rep(i,n) for(int i=0;i<(n);i++) #define ALL(A) A.begin(), A.end() using namespace std; typedef long long ll; typedef pair P; const int cycle[] = { 11, 6, 5, 6, 11, 6, 5, 6, 11, 6, 5, 6, 6, 6, 11, 6, 5, 6, 11, 6, 5, 6, 11, 6, 5, 6, 6, 6, 11, 6, 5, 6, 11, 6, 5, 6, 11, 6, 5, 6, 12, 11, 6, 5, 6, 11, 6, 5, 6, 11, 6, 5, 6, 11, 6, 5, 6 }; int main() { ios_base::sync_with_stdio(0); int cn = sizeof (cycle )/sizeof(cycle[0] ); vector sum (cn, 0LL ); for (int i = 0; i < cn; i++ ){ sum[i] = (i != 0 ? sum[i-1] : 0 ) + (ll)cycle[i]; } // end for // int T; cin >> T; // while (T-- ){ ll N; cin >> N; int res = 0; if (N >= 2014LL ){ ll n = N - 2014LL; ll m = n/400LL; res += (ll)cn*m; n %= 400LL; vector::iterator it = lower_bound (ALL (sum ), n ); vector::iterator jt = upper_bound (ALL (sum ), n ); ll curr = 0LL; if (it == jt ) curr = (ll)(jt - sum.begin() ); else curr = (ll)(it - sum.begin() ) + 1LL; res += curr; } // end if // cerr << N << ' '; cout << res << endl; // } // end while return 0; }