public static void Main()
Console.WriteLine("Largest word in dictionary by removing a few characters from the given string");
string[] dict = new string[] {"tutorial","horizon","trial","zon"};
string input = "attroialled";
string maxWord = string.Empty;
for (int curWord=0; curWord<dict.Length; curWord++)
Console.WriteLine("word={0}",dict[curWord]);
int nextLetterPositionBegin = 0;
for(int curLetter=0; curLetter<dict[curWord].Length; curLetter++)
Console.WriteLine("searching letter={0}, nextLetterPositionBegin = {1}",dict[curWord][curLetter], nextLetterPositionBegin);
for (int inputLetter=nextLetterPositionBegin; inputLetter<input.Length; inputLetter++)
if (input[inputLetter]==dict[curWord][curLetter])
Console.WriteLine("found letter={0}",input[inputLetter]);
nextLetterPositionBegin = inputLetter+1;
if (curLetter == dict[curWord].Length-1)
Console.WriteLine("reached last ");
if (dict[curWord].Length > maxWord.Length) maxWord = dict[curWord];
Console.WriteLine("letter={0}, found={1}",dict[curWord][curLetter], found);
Console.WriteLine("Largest word = {0}", maxWord);