#include <bits/stdc++.h>
using namespace std;
long long n, ans;
long long root, cnt, ch[200005][26], dep[200005], apr[200005];
char str[200005];
priority_queue<long long> pq[200005];
void insert(char *str) {
  long long m = strlen(str + 1);
  long long now = root;
  for (long long i = 1; i <= m; i++) {
    long long d = str[i] - 'a';
    if (!ch[now][d]) ch[now][d] = ++cnt;
    dep[ch[now][d]] = dep[now] + 1;
    now = ch[now][d];
  }
  pq[now].push(m);
  apr[now] = 1;
}
void dfs(long long now) {
  for (long long i = 0; i < 26; i++)
    if (ch[now][i]) {
      dfs(ch[now][i]);
      while (!pq[ch[now][i]].empty()) {
        pq[now].push(pq[ch[now][i]].top());
        pq[ch[now][i]].pop();
      }
    }
  if (now && !apr[now]) {
    apr[now] = 1;
    ans = ans - pq[now].top() + dep[now];
    pq[now].pop(), pq[now].push(dep[now]);
  }
}
signed main() {
  cin >> n;
  for (long long i = 1; i <= n && scanf("%s", str + 1); i++) {
    ans += strlen(str + 1);
    insert(str);
  }
  dfs(root);
  cout << ans << endl;
  return 0;
}
