#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
int main() {
printf("A\n"); // 主行程:印 A(一定最先出現)
if (fork() == 0) { // fork 一個子行程 P1
if (fork() == 0) { // P1 fork 出 P2
} else {
wait(NULL); // P1 等 P2 結束
}
} else {
wait(NULL); // 等 P1 結束
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8c3lzL3dhaXQuaD4KCmludCBtYWluKCkgewogICAgcHJpbnRmKCJBXG4iKTsgIC8vIOS4u+ihjOeoi++8muWNsCBB77yI5LiA5a6a5pyA5YWI5Ye654++77yJCgogICAgaWYgKGZvcmsoKSA9PSAwKSB7ICAvLyBmb3JrIOS4gOWAi+WtkOihjOeoiyBQMQogICAgICAgCiAgICAgICAgcHJpbnRmKCJCXG4iKTsgIC8vIFAxIOWNsOWHuiBCCgogICAgICAgIGlmIChmb3JrKCkgPT0gMCkgeyAgLy8gUDEgZm9yayDlh7ogUDIKICAgICAgICAgIAogICAgICAgICAgICBwcmludGYoIkNcbiIpOyAgLy8gUDIg5Y2wIEMKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB3YWl0KE5VTEwpOyAgICAgIC8vIFAxIOetiSBQMiDntZDmnZ8KICAgICAgICAgICAgcHJpbnRmKCJEXG4iKTsgICAvLyBQMSDljbAgRAogICAgICAgIH0KCiAgICB9IGVsc2UgewogICAgICAgIAogICAgICAgIHByaW50ZigiRVxuIik7ICAvLyDkuLvooYznqIvljbAgRQogICAgICAgIHdhaXQoTlVMTCk7ICAgICAvLyDnrYkgUDEg57WQ5p2fCiAgICB9CgogICAgcmV0dXJuIDA7Cn0=