#include #include unsigned int x=0,y=1,z=2,w=3,a[6000000],k; unsigned int generate(){ unsigned int t = (x^(x<<11)); x = y; y = z; z = w; w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)); return w; } int main(){ unsigned int i=0,n=0,m=0; scanf("%u",&x); for(;i<10000001;i++){ k=generate(); if(k<1<<30)m++; else if(k<(1<<31|1<<30))a[n++]=k; } qsort(a,n,4,"\x8b\7+\6\xc3"); printf("%u\n",a[5000000-m]); }