#include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; typedef unsigned long long ull; typedef pair P; typedef pair> PP; const ll MOD = 1e9 + 7; const ll MOD2 = 998244353; const ll INF = 1 << 30; const ll INF2 = 9e18; const double INF3 = 9e14; const int dx[4] = { 1,0,-1,0 }, dy[4] = { 0,1,0,-1 }; const int tx[8] = { -1,0,1,-1,1,-1,0,1 }, ty[8] = { -1,-1,-1,0,0,1,1,1 }; #define ALL(x) (x).begin(),(x).end() #define pb push_back #define fr first #define sc second 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)); //cout << w << ' ' << t << endl; return w; } int main(void) { ll seed; cin >> seed; x = seed; uint32_t a[10000001]; for (int i = 0; i < 10000001; i++) { a[i] = generate(); } for (int i = 0; i < 10000001; i++) { //cout << a[i] << endl; } sort(a, a + 10000001); cout << a[5000000] << endl; return 0; }