#include <bits/stdc++.h>
using namespace std;
vector<pair<int, string> > a[11111];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    string s;
    int x, b;
    cin >> s >> x >> b;
    --x;
    a[x].push_back({b, s});
  }
  for (int i = 0; i < m; i++) {
    sort(a[i].rbegin(), a[i].rend());
    if (a[i].size() > 2 && a[i][2].first == a[i][1].first) {
      cout << "?";
    } else {
      cout << a[i][0].second << " " << a[i][1].second;
    }
    cout << "\n";
  }
  return 0;
}
