#define L 37U
#define K 100U
static unsigned long int sequence[K];
static unsigned int b = L, a = K;
void init_mm(unsigned long int seed) {
unsigned int i;
for (i = 0; i < K * 2; i++)
sequence[i % K] = seed = (1664525 * seed + 1013904223);
return;
}
unsigned long int number_mm(void) {
a++;
b++;
return sequence[a % K] += sequence[b % K];
}