using System.Collections.Generic;
public static void Main()
int res = CountNumbersWithUniqueDigits(3);
public static int CountNumbersWithUniqueDigits(int n) {
List<int> res = new List<int>();
Combin(res, 0, n + 1, ref cnt);
static void Combin(List<int> comb, int start, int n, ref int cnt)
Console.WriteLine(string.Join(" ", comb));
for(int i=start; i<=9; i++)
if (comb.Contains(i) && i != 0)
Combin(comb, start, n, ref cnt);
comb.RemoveAt(comb.Count - 1);