#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
using namespace std;
int tot, trie[N][30];
multiset<int> st[N];
char s[N];
void build(char *s) {
  int len = strlen(s), u = 0;
  for (int i = 0; i < len; i++) {
    if (!trie[u][s[i] - 'a']) trie[u][s[i] - 'a'] = ++tot;
    u = trie[u][s[i] - 'a'];
  }
  st[u].insert(len);
}
void dfs(int u, int dep) {
  bool flag = u && st[u].size() == 0;
  for (int i = 0; i < 26; i++) {
    if (!trie[u][i]) continue;
    int v = trie[u][i];
    dfs(v, dep + 1);
    if (st[u].size() < st[v].size()) swap(st[u], st[v]);
    for (int x : st[v]) st[u].insert(x);
  }
  if (flag) {
    st[u].erase(--st[u].end());
    st[u].insert(dep);
  }
}
int main() {
  int n, ans = 0;
  scanf("%d", &n);
  while (n--) {
    scanf("%s", s);
    build(s);
  }
  dfs(0, 0);
  for (int x : st[0]) ans += x;
  printf("%d", ans);
}
