#include <unistd.h>
#include <string.h>
static void log_line(const char *s) {
write
(1, s
, strlen(s
)); // fd 1 = stdout}
int main(void) {
int x = 5, y = 2, z = 30;
x = fork();
y = fork();
if (x != 0) log_line("Type 1\n");
if (y != 0) log_line("Type 2\n");
z = fork();
if ((x > 0) || (y > 0) || (z > 0)) log_line("Type 3\n");
if ((x == 0) && (y == 0) && (z != 0)) log_line("Type 4\n");
if ((x != 0) && (y != 0) && (z != 0)) log_line("Type 5\n");
if ((y != 0) && (z == 0)) log_line("Type 6\n");
return 0;
}
I2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgpzdGF0aWMgdm9pZCBsb2dfbGluZShjb25zdCBjaGFyICpzKSB7CiAgICB3cml0ZSgxLCBzLCBzdHJsZW4ocykpOyAgLy8gZmQgMSA9IHN0ZG91dAp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgeCA9IDUsIHkgPSAyLCB6ID0gMzA7CgogICAgeCA9IGZvcmsoKTsKICAgIHkgPSBmb3JrKCk7CgogICAgaWYgKHggIT0gMCkgbG9nX2xpbmUoIlR5cGUgMVxuIik7CiAgICBpZiAoeSAhPSAwKSBsb2dfbGluZSgiVHlwZSAyXG4iKTsKCiAgICB6ID0gZm9yaygpOwoKICAgIGlmICgoeCA+IDApIHx8ICh5ID4gMCkgfHwgKHogPiAwKSkgbG9nX2xpbmUoIlR5cGUgM1xuIik7CiAgICBpZiAoKHggPT0gMCkgJiYgKHkgPT0gMCkgJiYgKHogIT0gMCkpIGxvZ19saW5lKCJUeXBlIDRcbiIpOwogICAgaWYgKCh4ICE9IDApICYmICh5ICE9IDApICYmICh6ICE9IDApKSBsb2dfbGluZSgiVHlwZSA1XG4iKTsKICAgIGlmICgoeSAhPSAwKSAmJiAoeiA9PSAwKSkgbG9nX2xpbmUoIlR5cGUgNlxuIik7CgogICAgcmV0dXJuIDA7Cn0=