#include<bits/stdc++.h>
using namespace std;
map<string,vector<string> >mp;
vector<string>s;
int main(){
int n,m;
cin>>n>>m;
while(m--){
string str1,str2;
cin>>str1>>str2;
if(mp.find(str1)==mp.end()){
s.push_back(str1);
}
mp[str1].push_back(str2);
}
for(int i=0;i<s.size();i++){
vector<string>s1=mp[s[i]];
if(s1.size()!=0)
cout<<s[i]<<" ";
else cout<<s[i];
if(s1.size()!=0)
for(vector<string>::iterator it=s1.begin();it!=s1.end();it++){
if(it!=s1.end()-1)
cout<<*it<<" ";
else cout<<*it;
}
cout<<endl;
}
}