#include <bits/stdc++.h>
using namespace std;
const int N = 100100;
int vis[N], ch[N][26], tot = 1, n;
char s[N];
long long ans;
vector<int> G[N];
priority_queue<int> q[N];
void ins() {
  int len = strlen(s + 1), u = 1;
  for (int i = 1; i <= len; i++) {
    int c = s[i] - 'a';
    if (!ch[u][c]) ch[u][c] = ++tot, G[u].push_back(tot);
    u = ch[u][c];
  }
  q[u].push(len);
  vis[u] = 1;
  ans += len;
}
void dfs(int u, int dep) {
  for (int i = 0; i < G[u].size(); i++) {
    int v = G[u][i];
    dfs(v, dep + 1);
    while (q[v].size()) {
      q[u].push(q[v].top());
      q[v].pop();
    }
  }
  if (u != 1 && !vis[u]) ans -= q[u].top() - dep, q[u].pop(), q[u].push(dep);
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%s", s + 1), ins();
  dfs(1, 0);
  printf("%lld", ans);
  return 0;
}
