Hello I am working on a C program. I need to write a parent program to fork(2) n processes where n is passed to the program on the command line, and n can be from 1 to 10. All output should be made with fprintf to the stdout or stderr (followed immediately by an fflush). This program is extensive and i need help writing this!!! Please help me via the directions above and below!! In addition i need to: 1. Flag ALL errors, including those returned from any functions with output to the stderr, a call to perror (if applicable), and then exit with the exit(3) function. 2. in the forked program (recall fork(2) returns 0 to the child process), get the process ID, and current time; using the current time generate a random wait time between 1 and 10 (seconds). Instead of srand(3) and rand(3), use srandom(3) and random(3) to generate these random numbers, using a seed equal to the current time (type time_t) * the process ID (type pid_t). This guarantees that the seed is different in every child. The child then sleeps for the random number of seconds (see sleep(3)), and returns using the exit(3) call with the exit status equal to the number of seconds slept. 3. In the parent (recall fork(2) returns to the parent the process id of the child) save the process IDs in the order returned in an array of process IDs. The parent then loops through the process ID array and waits for each process ID to exit (using waitpid(2)) in the order in which they were started. 4. To get and display the current time use time(3) with a NULL parameter, and then call ctime(3) with the value returned by the time(3) call. 5. Use the WIFEXITED and WEXITSTATUS macros on the status returned by waitpid(2) to determine the return status of children with normal returns (see the text section 8.6). Do NOT use the WNOHANG option with the waitpid call. 6. Both the parent and child processes will output information to the stdout and stderr. I appreciate any help you can give me!!!!!