public static void Main(string[] args) { string inputname = args[0]; string outputname = args[1]; string[] lines = File.ReadAllLines(inputname); string[] numbers = lines[0].Split(' '); int nwords = int.Parse(numbers[1]); int nmatches = int.Parse(numbers[2]); Language language = new Language(); for (var k = 1; k <= nwords; k++) language.AddWord(lines[k]); IList<string> result = new List<string>(); for (var j = 0; j < nmatches; j++) { var words = language.Match(lines[nwords + j + 1]); result.Add(string.Format("Case #{0}: {1}", j + 1, words.Count())); } File.WriteAllLines(outputname, result.ToArray()); }