n = read_line.to_i s = (1..n).map { read_line.chars }.select { |s| s.each_cons(2).all? { |(i, j)| i <= j } }.sort_by(&.first) dp = [0] * 26 s.each do |s| f = s.first - 'a' l = s.last - 'a' dp[l] = {dp[l], (dp[..f].max? || 0) + s.size}.max end puts dp.max