using System;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
var str = "In the end this is not the end";
var counts = new Dictionary<string,int>();
var tokens = str.Split(' ');
for (var i = 0 ; i < tokens.Length-1 ; i++) {
var key = tokens[i]+" "+tokens[i+1];
int c;
if (!counts.TryGetValue(key, out c)) {
c = 0;
}
counts[key] = c + 1;
}
foreach (var p in counts) {
Console.WriteLine("{0} = {1}", p.Key, p.Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKdmFyIHN0ciA9ICJJbiB0aGUgZW5kIHRoaXMgaXMgbm90IHRoZSBlbmQiOwp2YXIgY291bnRzID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLGludD4oKTsKdmFyIHRva2VucyA9IHN0ci5TcGxpdCgnICcpOwpmb3IgKHZhciBpID0gMCA7IGkgPCB0b2tlbnMuTGVuZ3RoLTEgOyBpKyspIHsKICAgIHZhciBrZXkgPSB0b2tlbnNbaV0rIiAiK3Rva2Vuc1tpKzFdOwogICAgaW50IGM7CiAgICBpZiAoIWNvdW50cy5UcnlHZXRWYWx1ZShrZXksIG91dCBjKSkgewogICAgICAgIGMgPSAwOwogICAgfQogICAgY291bnRzW2tleV0gPSBjICsgMTsKfQpmb3JlYWNoICh2YXIgcCBpbiBjb3VudHMpIHsKCUNvbnNvbGUuV3JpdGVMaW5lKCJ7MH0gPSB7MX0iLCBwLktleSwgcC5WYWx1ZSk7Cn0KCX0KfQ==