using System.Collections.Generic;
using System.Globalization;
public static void Main()
CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
var reader = new StringReader(sample);
var cases = int.Parse(reader.ReadLine());
for (var @case = 0; @case < cases; @case++)
var header = reader.ReadLine().Split(' ');
var numberOfIngredients = int.Parse(header[0]);
var definedNumberOfPortions = int.Parse(header[1]);
var desiredNumberOfPortions = int.Parse(header[2]);
var scalingFactor = (double)desiredNumberOfPortions / definedNumberOfPortions;
var ingredients = new List<(string Name, double Weight, double Percentage)>();
for (int i = 0; i < numberOfIngredients; i++)
var line = reader.ReadLine().Split(' ');
ingredients.Add((line[0], double.Parse(line[1]), double.Parse(line[2])));
var mainIngredient = ingredients.First(i => i.Percentage == 100.0);
var scaledWeight = mainIngredient.Weight * scalingFactor;
Console.WriteLine($"Recipe # {@case + 1}");
foreach (var ingredient in ingredients)
var weight = Math.Round(scaledWeight * ingredient.Percentage / 100, 1);
Console.WriteLine($"{ingredient.Name} {weight:F1}");
for (int i = 0; i < 40; i++)