Write a ANSI C program to fulfill the following operating system tasks in demand paging main memory management:

Assume we have a 460-word program, with the following sequence of requests for program words: 10, 11, 104, 170, 73, 309, 185, 245, 246, 434, 458 and 364. The page frame size should match the size of the individual pages into which the program has been divided. Namely, the number of page frames in the main memory, is the total number divided by the page size. For instance, if the main memory is 200 and the page size is 100, the number of page frames in the main memory would be two. Then the requests 10 and 11 are located on Page 0, and requests 104 and 170 are on Page 1.

Requirements:

1.	Develop a C language program that simulates a 460-word program with the given request sequence. 
2.	The program should allow for two configurable parameters: main memory size and page size.
3.	Implement both First-In, First-Out (FIFO) and Least Recently Used (LRU) page replacement algorithms.
4.	For each algorithm, calculate the hit rate for the request sequence under two case:
a.	Assume the memory size is 200 words, page size is 100 words (there are two page frames).
b.	Memory: 200 words, page size: 20 words (10 pages, 0 through 9).
 Use words in all capital letters at least 11 times to highlight key points.
user