using System.Collections.Generic;
private static List<string> wordsList = new List<string>();
public static void Main()
while ((input = Console.ReadLine()) != "END")
private static void ProcessCommand(string input)
string[] parts = input.Split(' ');
string command = parts[0].ToUpper();
AddCommand(parts.Skip(1));
RemoveCommand(parts.Skip(1));
SearchCommand(parts.Skip(1));
LengthCommand(parts.Skip(1));
InsertCommand(parts.Skip(1));
Console.WriteLine("Непозната команда.");
private static void AddCommand(IEnumerable<string> parameters)
wordsList.AddRange(parameters);
private static void RemoveCommand(IEnumerable<string> parameters)
if (parameters.Any() && int.TryParse(parameters.First(), out indexToRemove) && indexToRemove >= 1 && indexToRemove <= wordsList.Count)
wordsList.RemoveAt(indexToRemove - 1);
private static void SearchCommand(IEnumerable<string> parameters)
string wordToSearch = parameters.FirstOrDefault();
if (!string.IsNullOrEmpty(wordToSearch))
if (wordsList.Contains(wordToSearch))
Console.WriteLine("Думата '{wordToSearch}' е намерена.");
Console.WriteLine("Not contained.");
private static void UpdateCommand()
for (int i = 0; i < wordsList.Count; i++)
if (!string.IsNullOrEmpty(wordsList[i]) && char.IsLetter(wordsList[i][0]))
wordsList[i] = char.ToUpper(wordsList[i][0]) + wordsList[i].Substring(1).ToLower();
private static void LengthCommand(IEnumerable<string> parameters)
if (parameters.Any() && int.TryParse(parameters.First(), out length))
var filteredWords = wordsList.Where(word => word.Length == length).ToList();
if (filteredWords.Count > 0)
Console.WriteLine(string.Join("; ", filteredWords));
Console.WriteLine("Not contained.");
private static void InsertCommand(IEnumerable<string> parameters)
if (parameters.Count() >= 2 && int.TryParse(parameters.First(), out indexToInsert) && indexToInsert >= 1)
wordToInsert = parameters.Skip(1).FirstOrDefault();
if (indexToInsert <= wordsList.Count + 1)
wordsList.Insert(indexToInsert - 1, wordToInsert);
Console.WriteLine("There are not enough items in the list.");
private static void PrintCommand()
Console.WriteLine(string.Join("; ", wordsList) + ";");