#include using namespace std; int g_seed; int n, a; unsigned long long answer = 0; int new_size = 0; unsigned long long curr_power = 1ull; void add(int x){ answer += curr_power * (unsigned long long)(x); curr_power *= 139ull; } unsigned int fastrand(){ g_seed = 214013 * g_seed + 2531011; return (g_seed >> 16) & 0x7FFF; } int next(int prev){ return 1 + prev + (fastrand() & 0b111); } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); freopen("justsort.in", "r", stdin); freopen("justsort.out", "w", stdout); cin >> n >> a >> g_seed; static priority_queue, greater> pq; for(int i = 0; i < n; ++i, a = next(a)){ while(!pq.empty() && pq.top() + 12 < a){ add(pq.top()); pq.pop(); } pq.push(a - (a % 3) * (a % 5)); } while(!pq.empty()){ add(pq.top()); pq.pop(); } cout << answer << "\n"; }