using System;
using System.Globalization;
using System.Linq;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
Dictionary<string, int> paths = new Dictionary<string, int>();
paths.Add("/abc/12", 1);
paths.Add("/test/abc", 2);
paths.Add("/stack/overflow/com", 3);
paths.Add("/stack/exception", 3);
List<string> filter = new List<string>();
filter.Add("/abc");
filter.Add("/stack/overflow");
var toDelete = paths
.Where(kv => !filter.Any(f => kv.Key.StartsWith(f)));
foreach (var delete in toDelete.Reverse())
paths.Remove(delete.Key);
foreach(var kv in paths)Console.WriteLine("{0} {1}",kv.Key,kv.Value);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uR2xvYmFsaXphdGlvbjsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewogICAgCSAgICBEaWN0aW9uYXJ5PHN0cmluZywgaW50PiBwYXRocyA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgaW50PigpOwogICAgICAgICAgICBwYXRocy5BZGQoIi9hYmMvMTIiLCAxKTsKICAgICAgICAgICAgcGF0aHMuQWRkKCIvdGVzdC9hYmMiLCAyKTsKICAgICAgICAgICAgcGF0aHMuQWRkKCIvc3RhY2svb3ZlcmZsb3cvY29tIiwgMyk7CiAgICAgICAgICAgIHBhdGhzLkFkZCgiL3N0YWNrL2V4Y2VwdGlvbiIsIDMpOwoKICAgICAgICAgICAgTGlzdDxzdHJpbmc+IGZpbHRlciA9IG5ldyBMaXN0PHN0cmluZz4oKTsKICAgICAgICAgICAgZmlsdGVyLkFkZCgiL2FiYyIpOwogICAgICAgICAgICBmaWx0ZXIuQWRkKCIvc3RhY2svb3ZlcmZsb3ciKTsKCiAgICAgICAgICAgIHZhciB0b0RlbGV0ZSA9IHBhdGhzCiAgICAgICAgICAgICAgICAuV2hlcmUoa3YgPT4gIWZpbHRlci5BbnkoZiA9PiBrdi5LZXkuU3RhcnRzV2l0aChmKSkpOwogICAgICAgICAgICBmb3JlYWNoICh2YXIgZGVsZXRlIGluIHRvRGVsZXRlLlJldmVyc2UoKSkKICAgICAgICAgICAgICAgIHBhdGhzLlJlbW92ZShkZWxldGUuS2V5KTsKCiAgICAgICAgZm9yZWFjaCh2YXIga3YgaW4gcGF0aHMpQ29uc29sZS5Xcml0ZUxpbmUoInswfSB7MX0iLGt2LktleSxrdi5WYWx1ZSk7CiAgICB9Cn0=