using System.Collections.Generic;
public static void Main()
List<string> stack = new List<string>();
string key = "companion";
string weather = "Snowy";
string season = "spring";
string dayOfWeek = "Sunday";
Tuple<bool, string>[] conditions = {
new Tuple<bool, string>(night && married && weather != null, "_Night_" + weather + "_Spouse"),
new Tuple<bool, string>(weather != null && married, "_" + weather + "_Spouse"),
new Tuple<bool, string>(night && weather != null, "_Night_" + weather),
new Tuple<bool, string>(weather != null, "_" + weather),
"_" + season + "_" + day,
"_" + season + "_" + dayOfWeek,
foreach (string variant in variants)
foreach (var condition in conditions)
stack.Add(key + variant + condition.Item2 + friendship);
stack.Add(key + variant + condition.Item2);
foreach (var cond in conditions)
stack.Add(key + cond.Item2 + friendship);
stack.Add(key + cond.Item2);
foreach (string variant in variants)
stack.Add(key + variant + friendship);
stack.Add(key + variant);
stack.Add(key + friendship);
foreach (string item in stack)