#include <stdio.h>
#include <memory.h>

void printbits(unsigned int x);
unsigned rightrot(unsigned x, int n);


int main(void){
	int i;
	unsigned int x = 0xFF30;
	
	printbits(x);
	
	for(i = 1; i < 16; i++)
		printbits(rightrot(x, i));
	
 	return 0;
}

unsigned rightrot(unsigned x, int n){
	while(n > 0){
		if(x&1){
			x = x >> 1;
			x |= (1 << 16);
		}else x = x >> 1;
		n--;
	}
	return x;
}

void printbits(unsigned int x){
	int i;
	int mask = 0x1;
	
	for(i = 15; i >= 0; i--){
		printf("%d", (x >> i) & mask);
		if((i % 4) == 0) putchar(' ');
	}
	putchar('\n');
}