using System.Collections.Generic;
public static void Main()
var input = new List<List<String>>();
input.Add(new List<String>()
{"Casper", "Purple", "Wayfair"});
input.Add(new List<String>()
{"Purple", "Wayfair", "Tradesy"});
input.Add(new List<String>()
{"Wayfair", "Tradesy", "Peleton"});
CreateRecomendation(input);
static Dictionary<String, List<String>> CreateRecomendation(List<List<String>> orders)
var answer = new Dictionary<String, List<String>>();
var products = new Dictionary<String, Dictionary<String, int>>();
orders.ForEach(x => x.ForEach(y =>
if (!products.ContainsKey(y))
products.Add(y, new Dictionary<String, int>());
foreach (var product in products)
if (x.Contains(product.Key))
if (!products[product.Key].ContainsKey(y))
products[product.Key].Add(y, 1);
products[product.Key][y] += 1;
foreach (var product in products)
Console.WriteLine(product.Key);
foreach (var item in products[product.Key])
Console.WriteLine(item.Key + " => " + item.Value);
Console.WriteLine("---");