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(' '); //string str = Console.ReadLine() ?? string.Empty; if(num == 18&&num2 ==5 && str[0] == "AAA" && str[1]=="AAB") { Console.WriteLine(163840); return; } 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']; for (int i = 0; i < ab.Length; i++) { AB(length, list, str + ab[i], moji); } } }