#include <bits/stdc++.h>
using namespace std;
int n, st, fi, ch, trie[300005 * 2][26], ans[300005], tot, cnt, mx;
int merge(int x, int y) {
  if (!x || !y) return x + y;
  cnt++;
  int z = ++tot;
  for (int i = 0; i < 26; i++) trie[z][i] = merge(trie[x][i], trie[y][i]);
  return z;
}
void dfs(int vtx, int depth) {
  int nvtx = n + 1;
  tot = n + 1, cnt = 0;
  for (int i = 0; i < 26; i++) nvtx = merge(nvtx, trie[vtx][i]);
  ans[depth] += cnt;
  for (int i = 0; i < 26; i++)
    if (trie[vtx][i]) dfs(trie[vtx][i], depth + 1);
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n - 1; i++) {
    scanf("%d %d %c", &st, &fi, &ch);
    trie[st][ch - 'a'] = fi;
  }
  dfs(1, 1);
  for (int i = 1; i <= n; i++)
    if (ans[mx] < ans[i]) mx = i;
  printf("%d\n%d", n - ans[mx], mx);
}
