#include <bits/stdc++.h>
using namespace std;
struct team {
  int points, win, lose;
  string name;
};
int n;
team t[50];
void add(const string &s, int a, int b) {
  for (int i = 0; i < n; i++)
    if (t[i].name == s) {
      if (a > b)
        t[i].points += 3;
      else if (a == b)
        t[i].points++;
      t[i].win += a;
      t[i].lose += b;
      break;
    }
}
bool cmp1(const team &a, const team &b) {
  if (a.points != b.points)
    return a.points > b.points;
  else if (a.win - a.lose != b.win - b.lose)
    return a.win - a.lose > b.win - b.lose;
  else
    return a.win > b.win;
}
bool cmp2(const team &a, const team &b) { return a.name < b.name; }
int main() {
  string a, b;
  int c, d;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> t[i].name;
  cin.ignore();
  for (int i = 0; i < n * (n - 1) / 2; i++) {
    getline(cin, a, '-');
    getline(cin, b, ' ');
    scanf("%d:%d", &c, &d);
    cin.ignore();
    add(a, c, d);
    add(b, d, c);
  }
  sort(t, t + n, cmp1);
  sort(t, t + n / 2, cmp2);
  for (int i = 0; i < n / 2; i++) cout << t[i].name << endl;
  return 0;
}
