#include #include #include using namespace std; uint32_t x = 0, y = 1, z = 2, w = 3; uint32_t generate() { uint32_t t = (x^(x<<11)); x = y; y = z; z = w; w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)); return w; } int main(){ int seed; cin >> seed; x = seed; vector nums; int less_count = 0; for(int i = 0; i < 10000001; i++) { uint32_t a = generate(); if(a <= 1e9 + 9e8){ less_count++; }else if(a <= 2e9 + 3e8){ nums.push_back(a); } } sort(nums.begin(), nums.end(), greater()); for(int i = less_count; i < int(5e6); i++){ nums.pop_back(); } cout << nums.back() << endl; }