A factory has many machines and many jobs that require processing on some of the machines. Each job has a job card which contains all the attributes of a job including the machines on which it need to processed and the processing time. For simplicity let us assume that there are ten machines numbered 0,1,2,...9, each job is processed for fixed amount of time and the job card number is coded in such a way that the machine requirement can be accessed. For example if job card number is 5483, it means job requires processing on machines 5,4,3 and 8. The job can be processed simultaneously on these machines. However each machine can process jobs one at a time and takes up the new job when it becomes idle. Formulate the problem and write a C program to solve the problem by using appropriate data structures and algorithms.