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

#define NUM	12345
#define P	33
//#define P	0x01000193U

int main()
{
	unsigned char a[NUM], r;
	unsigned int A[NUM], R, H;
	int i;

	r = R = 0;

	srand(time(NULL));

	for (i=0; i<NUM; ++i) {
		A[i] = a[i] = 1 + (int) (255.0 * (rand() / (RAND_MAX + 1.0)));
	}

	for (i=0; i<NUM; ++i) {
		r = (r * P) + a[i];
		R = (R * P) + A[i];
	}

	H = 0;
	for (i=0; i<NUM; ++i) {
		int j;
		unsigned int t;

		t = 1;
		for (j=0; j<i; ++j)
			t *= P;
		H += t * a[NUM-i-1];
	}


	printf("r: %02x, R: %08x, H: %08x.\n", r, R, H);
}

