using System.Collections.Concurrent;
public static readonly ConcurrentDictionary<int, ConcurrentQueue<int>> dic =
new ConcurrentDictionary<int, ConcurrentQueue<int>>();
public static void Main()
.ForAll(i => AddValue(i % 100, i));
Console.WriteLine($"Total Count: {dic.Sum(p => p.Value.Count)}");
$"Total Distinct Count: {dic.SelectMany(p => p.Value).Distinct().Count()}");
public static void AddValue(int kid, int vid)
dic.GetOrAdd(kid, _ => new ConcurrentQueue<int>()).Enqueue(vid);