#include <bits/stdc++.h>
using namespace std;
int main() {
  multimap<string, int> m;
  int q;
  cin >> q;
  while (q--) {
    int c;
    string k;
    cin >> c >> k;
    if (c == 0) {
      int x;
      cin >> x;
      m.insert(make_pair(k, x));
    } else if (c == 1) {
      if (m.find(k) == m.end())
        cout << 0 << endl;
      else
        for (map<string, int>::iterator i = m.lower_bound(k);
             i != m.upper_bound(k); i++)
          cout << i->second << endl;
    } else if (c == 2) {
      m.erase(k);
    } else if (c == 3) {
      string y;
      cin >> y;
      map<string, int>::iterator i;
      for (i = m.lower_bound(k); i != m.upper_bound(y); i++)
        cout << (*i).first << " " << (*i).second << endl;
    }
  }
  return 0;
}
