using System.Collections.Generic;
private static Dictionary<double, int> CountMap(List<double> input)
var countMap = new Dictionary<double, int>(input.Count);
foreach(double item in input)
if(!countMap.ContainsKey(item))
countMap.Add(item, input.Count(x => x == item));
public static string ListToRLEString(List<double> input)
var countMap = CountMap(input);
var accumulator = new StringBuilder(input.Count);
foreach(KeyValuePair<double, int> itemWithCount in countMap)
if(itemWithCount.Value > 1)
accumulator.Append(itemWithCount.Value).Append("*");
accumulator.Append(itemWithCount.Key).Append(" ");
return accumulator.ToString();
public static void Main()
var list = Console.ReadLine().Split(',').ToList().ConvertAll<double>(x => Double.Parse(x));
Console.WriteLine(ListToRLEString(list));