#include <stdio.h>
#include <stdlib.h>

/* http://e...content-available-to-author-only...a.org/wiki/Linear_congruential_generator */
int doTest(int N) {
	int i;
	unsigned init, r;
	
	for (init = 1; init <= 10; ++init) {
		r = init;
		for (i = 0; i < N; ++i)
			r = 22695477 * r + 1;
		printf("%2d -> ...%3d times... -> %6u\n", init, N, (r>>16) & ((1<<15)-1));
	}
	printf("\n");
}

int main(void) {
	doTest(1);
	doTest(2);
	doTest(3);
	doTest(10000);
	return 0;
}