using u32 = unsigned int ;
const int N = 5e7 ;
int n;
u32 seed, a[ N] ;
inline u32 input( u32 x) {
x ^ = x << 13 ;
x ^ = x >> 17 ;
x ^ = x << 5 ;
return x;
}
void output( ) {
u32 re = n;
u32 x = 23333333 ;
for ( u32 i = 0 ; i < n; i++ ) {
re = re ^ ( a[ i] + x) ;
x ^ = x << 13 ;
x ^ = x >> 17 ;
x ^ = x << 5 ;
}
cout << re << '\n ' ;
}
void solve( ) {
cin >> n >> seed;
for ( int i = 0 ; i < n; i++ ) {
seed = input( seed) ;
a[ i] = seed;
}
// sort
output( ) ;
}
dXNpbmcgdTMyID0gdW5zaWduZWQgaW50OwoKY29uc3QgaW50IE4gPSA1ZTc7CgppbnQgbjsKdTMyIHNlZWQsIGFbTl07CgppbmxpbmUgdTMyIGlucHV0KHUzMiB4KSB7Cgl4IF49IHggPDwgMTM7CiAgICB4IF49IHggPj4gMTc7CiAgICB4IF49IHggPDwgNTsKICAgIHJldHVybiB4Owp9Cgp2b2lkIG91dHB1dCgpIHsKICAgIHUzMiByZSA9IG47CiAgICB1MzIgeCA9IDIzMzMzMzMzOwogICAgZm9yICh1MzIgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICByZSA9IHJlIF4gKGFbaV0gKyB4KTsKICAgICAgICB4IF49IHggPDwgMTM7CiAgICAgICAgeCBePSB4ID4+IDE3OwogICAgICAgIHggXj0geCA8PCA1OwogICAgfQogICAgY291dCA8PCByZSA8PCAnXG4nOwp9Cgp2b2lkIHNvbHZlKCkgewoJY2luID4+IG4gPj4gc2VlZDsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJc2VlZCA9IGlucHV0KHNlZWQpOwoJCWFbaV0gPSBzZWVkOwoJfQoJLy8gc29ydAoJb3V0cHV0KCk7Cn0=