#include <bits/stdc++.h>
using namespace std;

int main(){
  int n, q;
  cin >> n >> q;
  priority_queue<int> s[n];
  while(q--){
    long a, b, c;
    cin >> a >> b;
    if(!a){
      cin >> c;
      s[b].push(c);
    }
    else if(a == 1){
      if(!s[b].empty())cout << s[b].top() << endl;
    }
    else{
      if(!s[b].empty()) s[b].pop();
    }
  }
}
