#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
map<char, int> T[(1 << 21)];
char c;
int S, N, a, b, O[(1 << 21)], B = -(1 << 29), V, L, t;
int go(int s, int u) {
  int l = ++L;
  for (int k(97); k < 123; k++)
    if (T[u].count(k) && T[s].count(k))
      T[l][k] = go(T[u][k], T[s][k]);
    else if (T[u].count(k))
      T[l][k] = T[u][k];
    else if (T[s].count(k))
      T[l][k] = T[s][k];
    else
      T[l].erase(k);
  return ++t, l;
}
void dfs(int u, int d) {
  S = L = N + 1, t = 0;
  for (auto &h : T[u]) S = go(S, h.second);
  O[d] += t;
  for (auto &h : T[u]) dfs(h.second, d + 1);
}
int main(void) {
  scanf("%d", &N);
  for (int i(0); i < N - 1; i++) scanf("%d%d %c", &a, &b, &c), T[a][c] = b;
  dfs(1, 1);
  for (int k(1); k < N + 1; k++)
    if (O[k] > B) B = O[k], V = k;
  printf("%d\n%d\n", N - B, V);
  return 0;
}
