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

typedef long long ll;

int main() {
    multimap<string,int> m;
    int q; cin >> q;
    for(int i=0; i<q; i++){
        int query;
        cin >> query;
        if(query==0){
            string key; int x;
            cin >> key >> x;
            m.insert(make_pair(key,x));
        }
        else if(query==1){
            string key;
            cin >> key;
            auto p = m.equal_range(key);
            for(auto it=p.first; it!=p.second; it++){
                cout << it->second << endl;
            }
        }
        else if(query==2){
            string key;
            cin >> key;
            auto p = m.equal_range(key);
            m.erase(p.first,p.second);
        }
        else if(query==3){
            string L,R;
            cin >> L >> R;
            auto l = m.lower_bound(L);
            auto r = m.upper_bound(R);
            for(auto itr=l; itr!=r; itr++){
                if(itr->second!=0) cout << itr->first <<" "<< itr->second << endl;
            }
        }
    }
}

