#include<bits/stdc++.h>
using namespace std;
int i,n=0,f[5010],fl=0;
string name[5010];
int find(int x) {
if(f[x]==x) return x;
f[x]=find(x);
return f[x];
}
int main() {
char op;
for(i=1; i<=sizeof(f); i++) f[i]=i;
while(cin>>op) {
n++;
cin>>name[n];
if(op=='#') {
fl=n;
}
if(op=='+') {
f[n]=find(f[fl]);
}
if(op=='?') {
for(i=1; name[i]!=name[n]; i++) {
cout<<name[i]<<" "<<name[f[i]]<<endl;
}
n--;
}
if(op=='$') break;
}
return 0;
}