#include <stdio.h>
int main()
{
unsigned int a, b, c, d;
unsigned int f;
printf(" bc \n");
printf(" 00 01 11 10 \n");
printf(" ______________\n");
for (a = 0; a < 2; a++) {
printf("a=%u | ", a);
for (b = 0; b < 2; b++) {
for (d = 0; d < 2; d++) {
// Gray code generation
c = d ^ b;
// f = ab + b'c'
f = (a & b) | ((~b & 1) & (~c & 1));
f = f & 1;
printf("%u ", f);
}
}
printf("\n");
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBtYWluKCkKewogICAgdW5zaWduZWQgaW50IGEsIGIsIGMsIGQ7CiAgICB1bnNpZ25lZCBpbnQgZjsKCiAgICBwcmludGYoIiAgICAgICAgIGJjICAgICAgXG4iKTsKICAgIHByaW50ZigiICAgICAwMCAwMSAxMSAxMCBcbiIpOwogICAgcHJpbnRmKCIgICBfX19fX19fX19fX19fX1xuIik7CgogICAgZm9yIChhID0gMDsgYSA8IDI7IGErKykgewogICAgICAgIHByaW50ZigiYT0ldSB8ICIsIGEpOwoKICAgICAgICBmb3IgKGIgPSAwOyBiIDwgMjsgYisrKSB7CiAgICAgICAgICAgIGZvciAoZCA9IDA7IGQgPCAyOyBkKyspIHsKCiAgICAgICAgICAgICAgICAvLyBHcmF5IGNvZGUgZ2VuZXJhdGlvbgogICAgICAgICAgICAgICAgYyA9IGQgXiBiOwoKICAgICAgICAgICAgICAgIC8vIGYgPSBhYiArIGInYycKICAgICAgICAgICAgICAgIGYgPSAoYSAmIGIpIHwgKCh+YiAmIDEpICYgKH5jICYgMSkpOwogICAgICAgICAgICAgICAgZiA9IGYgJiAxOwoKICAgICAgICAgICAgICAgIHByaW50ZigiJXUgIiwgZik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==