#include <bits/stdc++.h>
using namespace std;
const int sigma = 26;
int n, num, len, root;
char str[105000];
struct trie {
  int end, sz, next[30];
} T[105000];
int Num(char ch) { return ch - 'a'; }
void insert(int now, int pla) {
  if (pla == len) {
    T[now].sz++;
    T[now].end = 1;
    return;
  }
  int number = Num(str[pla]);
  if (T[now].next[number]) {
    insert(T[now].next[number], pla + 1);
  } else {
    num++;
    T[now].next[number] = num;
    insert(T[now].next[number], pla + 1);
  }
}
void dfs(int root) {
  for (int i = 0; i < sigma; i++) {
    if (T[root].next[i]) {
      dfs(T[root].next[i]);
      T[root].sz += T[T[root].next[i]].sz;
    }
  }
}
int ans = 0;
int bel[102000];
priority_queue<int, vector<int>, less<int> > q[102000];
int merge(int a, int b) {
  if (q[a].size() < q[b].size()) {
    while (!q[a].empty()) {
      int k = q[a].top();
      q[a].pop();
      q[b].push(k);
    }
    return b;
  } else {
    while (!q[b].empty()) {
      int k = q[b].top();
      q[b].pop();
      q[a].push(k);
    }
    return a;
  }
}
void dfs2(int now, int val) {
  int flag = 0;
  for (int i = 0; i < sigma; i++) {
    if (T[now].next[i]) {
      flag = 1;
      dfs2(T[now].next[i], val + 1);
    }
  }
  if (!flag) {
    bel[now] = ++num;
    q[num].push(val);
    return;
  }
  for (int i = 0; i < sigma; i++) {
    if (T[now].next[i]) {
      if (bel[now]) {
        bel[now] = merge(bel[now], bel[T[now].next[i]]);
      } else
        bel[now] = bel[T[now].next[i]];
    }
  }
  if (T[now].end) {
    q[bel[now]].push(val);
  } else {
    q[bel[now]].pop();
    q[bel[now]].push(val);
  }
}
void work() {
  num = 0;
  for (int i = 0; i < sigma; i++) {
    if (!T[root].next[i]) continue;
    dfs2(T[root].next[i], 1);
    int hh = bel[T[root].next[i]];
    while (!q[hh].empty()) {
      ans += q[hh].top();
      q[hh].pop();
    }
  }
  printf("%d\n", ans);
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%s", str);
    len = strlen(str);
    insert(root, 0);
  }
  dfs(root);
  work();
  return 0;
}
