#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target("sse4")
using namespace std;
template <class c>
struct rge {
  c b, e;
};
template <class c>
rge<c> range(c i, c j) {
  return rge<c>{i, j};
}
template <class c>
auto dud(c* x) -> decltype(cerr << *x, 0);
template <class c>
char dud(...);
struct debug {
  template <class c>
  debug& operator<<(const c&) {
    return *this;
  }
};
map<string, long long> mp;
const long long N = 8;
long long a[N][N];
long long ans1 = (long long)1e18 + 5, ans2 = 0;
vector<long long> vv(3);
vector<long long> ini = {0, 1, 2, 3, 4, 5, 6};
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n;
  mp["Anka"] = 0, mp["Chapay"] = 1, mp["Cleo"] = 2, mp["Troll"] = 3,
  mp["Dracul"] = 4, mp["Snowy"] = 5, mp["Hexadecimal"] = 6;
  cin >> n;
  string x, cc1, y;
  for (long long i = 0; i < n; i++) {
    cin >> x >> cc1 >> y;
    a[mp[x]][mp[y]] = 1;
  }
  cin >> vv[0] >> vv[1] >> vv[2];
  do {
    for (long long i = 1; i < 5; i++) {
      for (long long j = i + 1; j < 6; j++) {
        vector<vector<long long> > aa(3);
        for (long long k = 0; k < i; k++) aa[0].push_back(ini[k]);
        for (long long k = i; k < j; k++) aa[1].push_back(ini[k]);
        for (long long k = j; k < 7; k++) aa[2].push_back(ini[k]);
        vector<vector<long long> > cur1 = aa;
        long long lik = 0;
        for (long long ii = 0; ii < 3; ii++) {
          for (long long jj = 0; jj < (long long)cur1[ii].size(); jj++) {
            for (long long k = jj + 1; k < (long long)cur1[ii].size(); k++) {
              if (a[cur1[ii][jj]][cur1[ii][k]]) {
                lik++;
              }
              if (a[cur1[ii][k]][cur1[ii][jj]]) lik++;
            }
          }
        }
        vector<long long> cur = {0, 1, 2};
        vector<long long> arr(3, 0);
        do {
          arr[0] = (vv[cur[0]] / (long long)aa[0].size());
          arr[1] = (vv[cur[1]] / (long long)aa[1].size());
          arr[2] = (vv[cur[2]] / (long long)aa[2].size());
          long long ans = 0;
          for (long long ii = 0; ii < 3; ii++) {
            for (long long jj = ii + 1; jj < 3; jj++) {
              ans = max(ans, abs(arr[ii] - arr[jj]));
            }
          }
          if (ans <= ans1) {
            if (ans == ans1) {
              if (lik > ans2) {
                ans2 = lik;
              }
            } else {
              ans1 = ans;
              ans2 = lik;
            }
          }
        } while (next_permutation((cur).begin(), (cur).end()));
      }
    }
  } while (next_permutation((ini).begin(), (ini).end()));
  cout << ans1 << " " << ans2 << "\n";
  return 0;
}
