#include<stdio.h>
#include<limits.h>

main(){
   int mypipe[2] ;
   int fd ;
   int i, fib ;

   pipe(mypipe) ;
   fd = mypipe[0] ;

   if (fork()==0) {
      /* child */
      int i = 1 ;
      int j = 1 ;
      int k ;
      int fd = mypipe[1] ;
      while(1) {
         write( fd, &i, sizeof(int) ) ;
         k = i + j ;
         j = i ;
         i = k ;
      }
   }
   /* parent */

   for ( i=0; i<10; i++ ) {
      read( fd, &fib, sizeof(int) ) ;
      printf("%d ", fib ) ;
   }
   printf("\n") ;
}

