#include <unistd.h>
#include <stdio.h>
void thread_1(int fr){
char buffer[1024];
sprintf(buffer, "/proc/self/fd/%d", fr);
freopen(buffer, "r", stdin);
for(int i=0; i<10; i++){
int temp;
scanf("%d", &temp);
printf("%d Fetched!\n", temp);
}
}
void thread_2(int fw){
char buffer[1024];
sprintf(buffer, "/proc/self/fd/%d", fw);
freopen(buffer, "w+", stdout);
for(int i=0; i<10; i++){
printf("%d\n", i+10);
}
}
int main(){
int p[2];
pipe(p);
pid_t ret=fork();
if(ret==0){
ret=fork();
if(ret==0){
}else{
thread_2(p[1]);
}
}else{
thread_1(p[0]);
}
}