private static void Main(string[] args) { List <Myletter> letters = new List <Myletter>(); string enteredText = ""; string sign; Console.Write("Please type in your text:"); enteredText = Console.ReadLine(); Console.WriteLine($"Your text is: {enteredText}"); foreach (char character in enteredText) { int index = letters.FindIndex(x => x.Letter == character); if (index != -1) { letters[index].Quantity++; } else { letters.Add(new Myletter(character, 1)); } } letters = letters.OrderBy(x => x.Letter).ToList(); PrepareListToCode(letters); sign = Encoder.ArithmeticEncodingWithScaling(enteredText, letters); Console.WriteLine($"Sign for entered text = {sign}\n"); Console.Write("Would you like to decode this sign? y/n"); switch (Console.ReadKey().Key) { case ConsoleKey.Y: { Console.WriteLine(); string word = Decoder.ArithmeticDecodingWithScaling(sign, letters); Console.WriteLine($"Decoded word for sign {sign} = {word}"); } break; case ConsoleKey.N: { Console.WriteLine(); Console.WriteLine("Thank You for using this program."); } break; default: break; } Console.Write("Press any key to close program"); Console.ReadKey(); }