Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- long long mod = 1000000007;
- using namespace std;
- vector<long long> v = {60, 120, 360, 2520, 5040, 55440, 720720, 1441440, 4324320, 21621600, 367567200, 6983776800, 13967553600, 321253732800, 2248776129600, 65214507758400, 195643523275200};
- vector<long long> ts = {2, 4, 6, 12, 18, 26, 38, 50, 62, 76, 94, 112, 136, 160, 186, 212};
- int main() {
- ios_base::sync_with_stdio(false);
- cin.tie(0);
- int t;
- cin >> t;
- while(t--) {
- long long n;
- cin >> n;
- long long ans = ((n + 1) / 2) * 2 % mod;
- long long kk = n / 12;
- long long rest = n % 12;
- ans += 21 * kk % mod;
- switch(rest) {
- case 3:
- case 2:
- ans += 3 % mod;
- break;
- case 5:
- case 4:
- ans += 6 % mod;
- break;
- case 7:
- case 6:
- ans += 10 % mod;
- break;
- case 9:
- case 8:
- ans += 13 % mod;
- break;
- case 11:
- case 10:
- ans += 16 % mod;
- break;
- default:
- break;
- }
- for(int i = 0; i < 17; i++) {
- if(n < 60) {
- break;
- }
- if(n <= v[i]) {
- ans += ts[i] % mod;
- break;
- }
- }
- ans = ans % mod;
- cout << ans << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement