#!/usr/bin/python3
import sys
n, m = [int(v) for v in sys.stdin.readline().split(' ')]
g = [[ch == '1' for ch in sys.stdin.readline()] for _ in range(n)]
eng = [[] for _ in range(m)]

for j in range(m):
  for i in range(n):
    if g[i][j]:
      eng[j].append(i)

ok = [True] * (m + 1)
t = [-1] * (1 << m)
for maskJob in range(1 << m):
  k = bin(maskJob).count('1')
  neighbors = set()
  for j in range(m):
    if (maskJob & (1 << j)) == 0: continue
    for i in eng[j]:
      neighbors.add(i)
      if len(neighbors) == k: break
    if len(neighbors) == k: break
  if len(neighbors) < k: ok[k] = False

ans = 0
for k in range(m + 1):
  if ok[k]: ans = k
  else: break
print (ans)
