using System.Collections.Generic;
public static void Main()
var input=".Ae{test2;test3;}.b{test1;test2}".Split('}').ToList();
input.RemoveAt(input.Count()-1);
Dictionary<string,List<string>> styles=new Dictionary<string,List<string>>();
foreach(var item in input)
styles.Add(item.Substring(0,item.IndexOf('{')),item.Substring(item.IndexOf('{')+1,item.Length-item.IndexOf('{')-1).Split(';').Where(x=>x.Length>0).ToList());
var prop=styles.SelectMany(x=>x.Value).Distinct().Where(x=>x.Length>0);
{var containClass=styles.Where(x=>x.Value.Contains(prb));
foreach(var t1 in containClass){
Console.Write(prb+"-" );Console.WriteLine(containClass.Select(x=>x.Key).Count()); Console.Write(String.Join(",",containClass.Select(x=>x.Key).ToArray()));