#include <stdio.h>
int main(void) {
// your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQo=
I2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CiNpbmNsdWRlICZsdDt1bmlzdGQuaCZndDsKCmludCBtYWluKCkgewogICAgaW50IHAxLCBwMjsKCiAgICAvLyDnrKzkuIDmrKFmb3Jr5Yib5bu65a2Q6L+b56iLMQogICAgcDEgPSBmb3JrKCk7CiAgICBpZiAocDEgJmx0OyAwKSB7CiAgICAgICAgcGVycm9yKCZxdW90O0ZpcnN0IGZvcmsgZmFpbGVkJnF1b3Q7KTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBpZiAocDEgPT0gMCkgewogICAgICAgIC8vIOWtkOi/m+eoizHvvJrovpPlh7piCiAgICAgICAgcHV0Y2hhcignYicpOwogICAgfSBlbHNlIHsKICAgICAgICAvLyDniLbov5vnqIvvvJrnrKzkuozmrKFmb3Jr5Yib5bu65a2Q6L+b56iLMgogICAgICAgIHAyID0gZm9yaygpOwogICAgICAgIGlmIChwMiAmbHQ7IDApIHsKICAgICAgICAgICAgcGVycm9yKCZxdW90O1NlY29uZCBmb3JrIGZhaWxlZCZxdW90Oyk7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KCiAgICAgICAgaWYgKHAyID09IDApIHsKICAgICAgICAgICAgLy8g5a2Q6L+b56iLMu+8mui+k+WHumMKICAgICAgICAgICAgcHV0Y2hhcignYycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIOeItui/m+eoi++8mui+k+WHumEKICAgICAgICAgICAgcHV0Y2hhcignYScpOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
#include <stdio.h>
#include <unistd.h>
int main() {
int p1, p2;
// 第一次fork创建子进程1
p1 = fork();
if (p1 < 0) {
perror("First fork failed");
return 1;
}
if (p1 == 0) {
// 子进程1:输出b
putchar('b');
} else {
// 父进程:第二次fork创建子进程2
p2 = fork();
if (p2 < 0) {
perror("Second fork failed");
return 1;
}
if (p2 == 0) {
// 子进程2:输出c
putchar('c');
} else {
// 父进程:输出a
putchar('a');
}
}
return 0;
}