#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int level= 1 ;
int n;
void create( )
{
if ( level== n)
{
}
printf ( "current:%d " , getpid
( ) ) ; printf ( "Parent:%d " , getppid
( ) ) ; if ( fork( ) == 0 )
{
level++;
printf ( "Left child:%d " , getpid
( ) ) ; create( ) ;
}
if ( fork( ) == 0 )
{
level++;
printf ( "Right child:%d " , getpid
( ) ) ; cout<< "\n " ;
create( ) ;
}
}
int main( )
{
create( ) ;
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPHVuaXN0ZC5oPgppbnQgbGV2ZWw9MTsKaW50IG47CnZvaWQgY3JlYXRlKCkKewogICBpZihsZXZlbD09bikKICAgewogICAgICBleGl0KDApOwogICB9CiAgIHByaW50ZigiY3VycmVudDolZCAiLGdldHBpZCgpKTsKICAgcHJpbnRmKCJQYXJlbnQ6JWQgIixnZXRwcGlkKCkpOwogICBpZihmb3JrKCk9PTApCiAgIHsKICAgICBsZXZlbCsrOwogICAgIHByaW50ZigiTGVmdCBjaGlsZDolZCAiLGdldHBpZCgpKTsKICAgICBjcmVhdGUoKTsKICAgfQogICBpZihmb3JrKCk9PTApCiAgIHsKICAgICBsZXZlbCsrOwogICAgIHByaW50ZigiUmlnaHQgY2hpbGQ6JWQgIixnZXRwaWQoKSk7CiAgICAgY291dDw8IlxuIjsKICAgICBjcmVhdGUoKTsKICAgfQogICBleGl0KDApOwp9CmludCBtYWluKCkKewogICBzY2FuZigiJWQiLCZuKTsKICAgY3JlYXRlKCk7CiAgIHJldHVybiAwOwp9