using System.Collections.Generic;
public static void Main()
var values1 = fiddle("this098is9823afiddle", 123456789);
Console.Write(values1 + "\n");
var values2 = fiddle("", 0);
Console.Write(values2 + "\n");
var values3 = fiddle("", 5);
Console.Write(values3 + "\n");
var values4 = fiddle("thisISaTEST", 0);
Console.Write(values4 + "\n");
var values5 = fiddle("test[-testp-test]0--test0i[-test-hello,mountain", 4);
Console.Write(values5 + "\n");
var values6 = fiddle("MyNameIsHerman", 2);
Console.Write(values6 + "\n");
var values7 = fiddle("wowww-']C#[Compiles><)Very][]:Quick", 1);
Console.Write(values7 + "\n");
var values8 = fiddle("LET_ US TEST capitals vs lower casecase TeST test", 4);
Console.Write(values8 + "\n");
var values9 = fiddle("zfabcde224lkfabc51+crsdtab=", 3);
Console.Write(values9 + "\n");
public static KeyValuePair<string,int> fiddle(string st, int len)
Dictionary<string, int> subStrs = new Dictionary<string, int>();
for (int i = 0; i < st.Length - len + 1; i++)
temp = st.Substring(i, len);
if (subStrs.ContainsKey(temp))
foreach (var key in subStrs.Keys)
if (subStrs[key] >= maxVal )
return new KeyValuePair<string,int>(maxKey, maxVal);