import java.util.*;

public class rankedchoice_AN {
  static boolean isAWinner(int N, int a, int z, int ba, int bc, int ca, int cb) {
    int b = ba + bc;
    int c = ca + cb;
    if (a > N / 2) return true;
    if (z > N / 2) return false;
    if (b > N / 2) return false;
    if (c > N / 2) return false;
    if (a < z && a < b && a < c) return false;
    if (b < z && b < c && b <= a) return a + ba >= c + bc;
    if (c < z && c <= b && c <= a) return a + ca >= b + cb;
    if (z > 0) return false;
    if (a < b && a < c) return false;
    if (b < c && b <= a) return a + ba >= c + bc;
    if (c <= b && c <= a) return a + ca >= b + cb;
    throw new IllegalStateException("impossible");
  }

  public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    int N = s.nextInt(), K = s.nextInt();
    s.nextLine();
    if (K == 2) {
      int nb = 0;
      for (int i = 0; i < N; i++) {
        if (s.nextLine().equals("B A")) nb++;
      }
      if (nb <= 3 * N / 4) {
        System.out.println(1);
      } else {
        System.out.println(0);
      }
    } else {
      int a = 0, ba = 0, bc = 0, ca = 0, cb = 0;
      for (int i = 0; i < N; i++) {
        String line = s.nextLine();
        if (line.equals("A B C") || line.equals("A C B")) a++;
        if (line.equals("B A C")) ba++;
        if (line.equals("B C A")) bc++;
        if (line.equals("C A B")) ca++;
        if (line.equals("C B A")) cb++;
      }
      int b = ba + bc, c = ca + cb;
      boolean isWinner = false;
      for (int i = 0; i <= b; i++) {
        for (int j = 0; j <= c; j++) {
          if (isAWinner(
            N,
            a,
            i + j,
            i < bc ? ba : ba - (i - bc),
            i < bc ? bc - i : 0,
            j < cb ? ca : ca - (j - cb),
            j < cb ? cb - j : 0
          )) isWinner = true;
        }
      }
      if (isWinner) {
        System.out.println(1);
      } else {
        System.out.println(0);
      }
    }
  }
}
