#include <stdio.h>

unsigned int weirdAnd(unsigned int a, unsigned int b) {
	unsigned int result = 0;
	unsigned int coef = 1;
	while (a && b) {
		result += ((a % 10) && (b % 10)) * coef;
		coef *= 10;
		a /= 10;
		b /= 10;
	}
	return result;
}

unsigned int weirdOr(unsigned int a, unsigned int b) {
	unsigned int result = 0;
	unsigned int coef = 1;
	while (a || b) {
		result += ((a % 10) || (b % 10)) * coef;
		coef *= 10;
		a /= 10;
		b /= 10;
	}
	return result;
}

int main(void) {
	// your code goes here
	unsigned int a = 10110;
	unsigned int b = 10011;
	printf("%u and \n%u = \n%u\n\n", a, b, weirdAnd(a, b));
	printf("%u or  \n%u = \n%u\n\n", a, b, weirdOr(a, b));
	return 0;
}
