# 1062번. 가르침
importsysinput=sys.stdin.readlinedeffunc(index,cnt):globalansifcnt==k-5:read_cnt=0forwordinwords:forwinword:ifnotvisited[ord(w)-ord('a')]:# 배운 단어라 아니라면
breakelse:read_cnt+=1ans=max(ans,read_cnt)ifanselseread_cntreturn# 기본 5단어를 빼고 배우기
foriinrange(index,26):ifnotvisited[i]:visited[i]=Truefunc(i,cnt+1)visited[i]=False# 백트래킹
n,k=map(int,input().split())# anta / tica는 무조건 가르쳐야
# acint - 5글자
# k가 5미만이라면 한 단어도 읽지 못한다.
ifk<5:print(0)sys.exit(0)# 알파벳 26개를 모두 가르칠 수 있으면 다 배울 수 있다.
ifk==26:print(n)sys.exit(0)words=[]visited=[Falseforiinrange(26)]foriinrange(n):words.append(set(input().rstrip()))# acint 는 미리 방문처리
visited[ord('a')-ord('a')]=Truevisited[ord('c')-ord('a')]=Truevisited[ord('i')-ord('a')]=Truevisited[ord('n')-ord('a')]=Truevisited[ord('t')-ord('a')]=Trueans=Nonefunc(0,0)print(ans)