Miscellany
public text v1 · immutablevoid foo(list<char>& set, list<char> subset, int n, int remain)
{
if (remain == 0) display(subset);
if (n >= set.size()) return;
foo(set, subset, n+1, remain);
subset.push_back(set[n]);
foo(set, subset, n+1, remain-1);
}