#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main( )
{
pid_t c1, c2;
float a;
c1 = fork( ) ;
if ( c1 == 0 )
{
printf ( "First Child (Circle)\n " ) ; printf ( "Area of Circle = %.2f\n " , 3.14 * a
* a
) ; printf ( "Perimeter of Circle = %.2f\n " , 2 * 3.14 * a
) ; return 0 ;
}
c2 = fork( ) ;
if ( c2 == 0 )
{
printf ( "Second Child (Square)\n " ) ; printf ( "Area of Square = %.2f\n " , a
* a
) ; printf ( "Perimeter of Square = %.2f\n " , 4 * a
) ; return 0 ;
}
wait( NULL) ;
wait( NULL) ;
printf ( "Parent: Both children completed\n " ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3dhaXQuaD4KCmludCBtYWluKCkKewogICAgcGlkX3QgYzEsIGMyOwogICAgZmxvYXQgYTsKCiAgICBwcmludGYoIkVudGVyIHZhbHVlIG9mIGE6ICIpOwogICAgc2NhbmYoIiVmIiwgJmEpOwoKICAgIGMxID0gZm9yaygpOwoKICAgIGlmIChjMSA9PSAwKQogICAgewogICAgICAgIHByaW50ZigiRmlyc3QgQ2hpbGQgKENpcmNsZSlcbiIpOwogICAgICAgIHByaW50ZigiQXJlYSBvZiBDaXJjbGUgPSAlLjJmXG4iLCAzLjE0ICogYSAqIGEpOwogICAgICAgIHByaW50ZigiUGVyaW1ldGVyIG9mIENpcmNsZSA9ICUuMmZcbiIsIDIgKiAzLjE0ICogYSk7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgYzIgPSBmb3JrKCk7CgogICAgaWYgKGMyID09IDApCiAgICB7CiAgICAgICAgcHJpbnRmKCJTZWNvbmQgQ2hpbGQgKFNxdWFyZSlcbiIpOwogICAgICAgIHByaW50ZigiQXJlYSBvZiBTcXVhcmUgPSAlLjJmXG4iLCBhICogYSk7CiAgICAgICAgcHJpbnRmKCJQZXJpbWV0ZXIgb2YgU3F1YXJlID0gJS4yZlxuIiwgNCAqIGEpOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIHdhaXQoTlVMTCk7CiAgICB3YWl0KE5VTEwpOwoKICAgIHByaW50ZigiUGFyZW50OiBCb3RoIGNoaWxkcmVuIGNvbXBsZXRlZFxuIik7CgogICAgcmV0dXJuIDA7Cn0K