using System.Collections.Generic;
public static void Main()
string command = Console.ReadLine();
Dictionary<string, List<string>> cards = new Dictionary<string, List<string>>();
while (command != "JOKER")
string[] actions = command.Split(':').ToArray();
string name = actions[0];
List<string> cardsSeq = actions[1].Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries)
if (!cards.ContainsKey(name))
cards.Add(name, new List<string>());
cards[name].AddRange(cardsSeq);
command = Console.ReadLine();
private static void PrintResult(Dictionary<string, List<string>> cards)
foreach (var val in cards)
List<string> playerCards = val.Value;
playerCards = playerCards.Distinct().ToList();
foreach (var card in playerCards)
string cardType = card.Substring(0, card.Length - 1);
int points = ExtractCardPoints(cardType);
int multiplicator = Multipliers(card[card.Length - 1]);
result += points * multiplicator;
Console.WriteLine($"{name}: {result}");
static int Multipliers(char letter)
case 'S': val = 4; break;
case 'H': val = 3; break;
case 'D': val = 2; break;
static int ExtractCardPoints(string input)
result = int.Parse(input);