public class Program { public static void Main() { int num = int.Parse(Console.ReadLine() ?? string.Empty); int num2 = int.Parse(Console.ReadLine() ?? string.Empty); string[] str = (Console.ReadLine() ?? string.Empty).Trim().Split(' '); List list = []; AB(num, list, "",str); Console.WriteLine(list.Count); } static void AB(int length, List list, string str, string[] moji) { if (str.Length == length) { for (int i = 0; i < moji.Length; i++) { if(str.LastIndexOf(moji[i]) == length-3) { list.Add(str); } } return; } char[] ab = ['A', 'B']; string dna = str; for (int i = 0; i < ab.Length; i++) { AB(length, list, dna + ab[i],moji); } } }