#include <bits/stdc++.h>
using namespace std;
vector<int> tmp;
vector<vector<int>> sol[4];
int lov[7][7];
int hero(string s) {
  if (s == "Troll") return 0;
  if (s == "Dracul") return 1;
  if (s == "Anka") return 2;
  if (s == "Snowy") return 3;
  if (s == "Hexadecimal") return 4;
  if (s == "Chapay")
    return 5;
  else
    return 6;
}
void rec(int i, int a, int b, int c) {
  if (i == 7) {
    int z[] = {a, b, c};
    sort(z, z + 3);
    if (z[2] == 5 && z[1] == 1 && z[0] == 1) sol[0].push_back(tmp);
    if (z[2] == 4 && z[1] == 2 && z[0] == 1) sol[1].push_back(tmp);
    if (z[2] == 3 && z[1] == 3 && z[0] == 1) sol[2].push_back(tmp);
    if (z[2] == 3 && z[1] == 2 && z[0] == 2) sol[3].push_back(tmp);
    return;
  }
  tmp.push_back(1);
  rec(i + 1, a + 1, b, c);
  tmp.pop_back();
  tmp.push_back(2);
  rec(i + 1, a, b + 1, c);
  tmp.pop_back();
  tmp.push_back(3);
  rec(i + 1, a, b, c + 1);
  tmp.pop_back();
}
int main() {
  rec(0, 0, 0, 0);
  int arr[4][3];
  pair<int, int> exp[3];
  int mini = 1e9, maxi = 0;
  set<int> minI;
  arr[0][0] = 5, arr[0][1] = 1, arr[0][2] = 1;
  arr[1][0] = 4, arr[1][1] = 2, arr[1][2] = 1;
  arr[2][0] = 3, arr[2][1] = 3, arr[2][2] = 1;
  arr[3][0] = 3, arr[3][1] = 2, arr[3][2] = 2;
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    string s, tmp, s2;
    cin >> s >> tmp >> s2;
    int x = hero(s), y = hero(s2);
    lov[x][y] = 1;
  }
  for (int i = 0; i < 3; i++) {
    cin >> exp[i].second;
    exp[i].first = i;
  }
  for (int i = 0; i < 4; i++) {
    int a = 0;
    do {
      int ans[3] = {};
      for (int j = 0; j < 3; j++) ans[j] = exp[j].second / arr[i][j];
      sort(ans, ans + 3);
      if (ans[2] - ans[0] < mini) minI.clear();
      if (ans[2] - ans[0] <= mini) minI.insert(i);
      mini = min(ans[2] - ans[0], mini);
      a++;
    } while (next_permutation(exp, exp + 3));
  }
  for (set<int>::iterator it = minI.begin(); it != minI.end(); it++) {
    for (int i = 0; i < sol[*it].size(); i++) {
      int tmpA = 0;
      for (int x = 0; x < 7; x++) {
        for (int y = 0; y < 7; y++) {
          if (x != y && sol[*it][i][x] == sol[*it][i][y] && lov[x][y]) tmpA++;
        }
      }
      maxi = max(tmpA, maxi);
    }
  }
  cout << mini << " " << maxi << endl;
}
