#include<iostream>
#include<vector>
#include<bitset>
#include<string>
#include<cmath>
#include<algorithm>
#include<stack>
#include<list>
#include<queue>
#include<map>
#include<numeric>
using namespace std;
#define rep(i,x) for(int i=0;i<x;i++)
#define re(i,x,y) for(int i=x;i<y;i++)
int INF=1e9;
const long long mod=1e9+7;
typedef long long ll;
int main(){
    multimap<string,int>m;
    int q;
    cin>>q;
    while(q--){
        int t,y;
        string x;
        cin>>t;
        if(t==0){
            cin>>x>>y;
            m.insert(make_pair(x,y));
        }
        if(t==1){
            string l;
            cin>>l;
            map<string,int>::iterator end,it;
            it=m.lower_bound(l);
            end=m.upper_bound(l);
            for(;it!=end;it++){
                cout<<(*it).second<<endl;
            }
        }
        if(t==2){
            cin>>x;
            m.erase(x);
        }
        if(t==3){
            string l,r;
            cin>>l>>r;
            map<string,int>::iterator end,it;
            it=m.lower_bound(l);
            end=m.upper_bound(r);
            for(;it!=end;it++){
                cout<<(*it).first<<' '<<(*it).second<<endl;
            }
        }
    }
    return 0;
}
