using System.Collections;
using System.Diagnostics;
using System.Collections.Generic;
public static void Main()
Dictionary<string,int> filtertedSubstring = new Dictionary<string, int>();
int uniqueCharLength = 2;
for (i= uniqueCharLength; i<s.Length; i++)
string sub = string.Empty;
if (startindex + i <= s.Length)
sub = s.Substring(startindex, i);
Hashtable hst = new Hashtable();
hst[c] = Convert.ToInt32(hst[c]) + 1;
List<object> uniqueCharacters = new List<object>();
uniqueCharacters.Add(key);
if (uniqueCharacters.Count == uniqueCharLength)
filtertedSubstring.Add(sub, sub.Length);
else if (uniqueCharacters.Count > uniqueCharLength)
if(filtertedSubstring.Count>0)
filtertedSubstring.OrderByDescending(f=> f.Value).FirstOrDefault();
foreach(var lst in filtertedSubstring)