using System.Collections.Generic;
public static void Main()
const string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char[] alphabet = Enumerable.Range('A', 26).Select(x => (char)x).ToArray();
List<int> requestedPagesNumber = new List<int>();
List<string> requestedPagesLetter = new List<string>();
int quantityRequestedPages;
Console.WriteLine("M4: FL- ACT2 - LRU");
Console.WriteLine("Bravo, Jhade Lambert L.\n");
Console.Write("Input the number of frames: ");
input = Console.ReadLine();
if (Int32.TryParse(input, out quantityFrames) && quantityFrames > 0)
Console.WriteLine("Please enter a positive number value.");
Console.WriteLine("\nPress enter to continue");
pause = Console.ReadLine();
Console.WriteLine("M4: FL- ACT2 - LRU");
Console.WriteLine("Bravo, Jhade Lambert L.\n");
Console.Write("Input the number of Pages: ");
input = Console.ReadLine();
if (Int32.TryParse(input, out quantityPages) && quantityPages > 0)
Console.WriteLine("Please enter a positive number value.");
Console.WriteLine("\nPress enter to continue");
pause = Console.ReadLine();
Console.WriteLine("M4: FL- ACT2 - LRU");
Console.WriteLine("Bravo, Jhade Lambert L.\n");
Console.Write("Input the number of Requested Pages: ");
input = Console.ReadLine();
if (Int32.TryParse(input, out quantityRequestedPages) && quantityRequestedPages > 0)
if (quantityRequestedPages > 0)
Console.WriteLine("Please enter a positive number value.");
Console.WriteLine("\nPress enter to continue");
pause = Console.ReadLine();
for (int i = 0; i < quantityRequestedPages; i++)
Console.WriteLine("M4: FL- ACT2 - LRU");
Console.WriteLine("Bravo, Jhade Lambert L.\n");
Console.WriteLine("Input either a number or letter within the number of pages which will select a set to the following values.");
Console.WriteLine("Number Set {0 to " + quantityPages + "}");
Console.WriteLine("Letter Set {A to " + letters[quantityPages - 1] + "}");
Console.Write("\nInput Type: " + type);
Console.Write("\nInput the value for page " + (i + 1) + "/" + quantityRequestedPages + ": ");
input = Console.ReadLine();
if ((Int32.TryParse(input, out number) && number >= 0) && (type == "None" || type == "Number Set {0 to " + quantityPages + "}"))
type = "Number Set {0 to " + quantityPages + "}";
if (number <= quantityPages)
requestedPagesNumber.Add(number);
else if ((input[0] >= 'A' && input[0] <= letters[quantityPages - 1]) && (type == "None" || type == "Letter Set {A to " + letters[quantityPages - 1] + "}"))
type = "Letter Set {A to " + letters[quantityPages - 1] + "}";
Console.WriteLine("Please follow to the type of input that matches your previous one and must not exceed to the number of pages you inputted.");
Console.WriteLine("Input must be at least a single value.");
Console.WriteLine("\nPress enter to continue");
pause = Console.ReadLine();
List<int> s = new List<int>(quantityFrames);
foreach (int i in requestedPagesNumber)
if (s.Count == quantityFrames)
s.Insert(quantityFrames - 1, i);
Console.WriteLine(page_faults);