#include <bits/stdc++.h>
using namespace std;
int dp[30][30];
int main() {
  memset(dp, -63, sizeof(dp));
  for (int i = 0; i < 30; i++) dp[i][i] = 0;
  int N;
  string in;
  cin >> N;
  for (int i = 1; i <= N; i++) {
    cin >> in;
    int s = in[0] - 'a';
    int t = in[in.size() - 1] - 'a';
    for (int j = 0; j < 30; j++)
      dp[j][t] = max(dp[j][t], dp[j][s] + (int)in.size());
  }
  int ans = 0;
  for (int i = 0; i < 30; i++) ans = max(ans, dp[i][i]);
  cout << ans << endl;
  return 0;
}
