n = int(input()) L = [[] for i in range(26)] for i in range(n): S = input() l = [-1] check = True for s in S: now = ord(s)-ord("a") if now < l[-1]: check = False break l.append(now) if check == False: continue L[l[1]].append([l[-1],len(l)-1]) dp = [0]*26 for i in range(26): dp[i] = max(dp[i],dp[i-1]) if L[i] == []: continue L[i].sort() for r,le in L[i]: dp[r] = max(dp[r],dp[i]+le) print(dp[-1])