#include <stdio.h> // printf()
#include <stdlib.h> // rand()
#include <unistd.h> // fork(), usleep()
#include <sys/wait.h> // wait()
int main() {
if (fork() == 0) {
usleep
((rand() % 5 + 1) * 100000); // wait for a random time if (fork() == 0) {
usleep
((rand() % 5 + 1) * 100000); } else {
wait(NULL);
}
} else {
usleep
((rand() % 5 + 1) * 100000); wait(NULL);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+ICAgICAgLy8gcHJpbnRmKCkKI2luY2x1ZGUgPHN0ZGxpYi5oPiAgICAgLy8gcmFuZCgpCiNpbmNsdWRlIDx1bmlzdGQuaD4gICAgIC8vIGZvcmsoKSwgdXNsZWVwKCkKI2luY2x1ZGUgPHN5cy93YWl0Lmg+ICAgLy8gd2FpdCgpCgppbnQgbWFpbigpIHsKICAgIHByaW50ZigiQVxuIik7CiAgICBpZiAoZm9yaygpID09IDApIHsKICAgICAgICB1c2xlZXAoKHJhbmQoKSAlIDUgKyAxKSAqIDEwMDAwMCk7IC8vIHdhaXQgZm9yIGEgcmFuZG9tIHRpbWUKICAgICAgICBwcmludGYoIkJcbiIpOwogICAgICAgIGlmIChmb3JrKCkgPT0gMCkgewogICAgICAgICAgICB1c2xlZXAoKHJhbmQoKSAlIDUgKyAxKSAqIDEwMDAwMCk7CiAgICAgICAgICAgIHByaW50ZigiQ1xuIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgd2FpdChOVUxMKTsKICAgICAgICAgICAgcHJpbnRmKCJEXG4iKTsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIHVzbGVlcCgocmFuZCgpICUgNSArIDEpICogMTAwMDAwKTsKICAgICAgICBwcmludGYoIkVcbiIpOwogICAgICAgIHdhaXQoTlVMTCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==