#include <stdio.h>

void printBinaryValue2(unsigned int num)
{
	char result[sizeof(num)*8]; 
	int count = 0;
	while(num)
	{
		result[count++] = ((num&1 == 1) ? '1' : '0'); 
		num>>=1;
	}
	if(count)
	{
		count--;
		while(count>=0)
		{
			putchar(result[count--]);
		}	
	}
	else
	{
		putchar('0');	
	}
}

void printBinaryValue(unsigned int num)
{
	if(!num) return;
	
	printBinaryValue(num>>1);
	putchar(((num&1 == 1) ? '1' : '0'));
}


int main(void) {
	// your code goes here
	printBinaryValue(-9);
	putchar('\n');
	printBinaryValue(0);
	putchar('\n');
	printBinaryValue(9);
	putchar('\n');
	printBinaryValue2(-9);
	putchar('\n');
	printBinaryValue2(0);
	putchar('\n');
	printBinaryValue2(9);
	putchar('\n');
	printBinaryValue2(1);
	return 0;
}
