#include <iostream>
using namespace std;
struct field{
string f;
string s;
int num;
};
void prints(field arr[], int n, string p[], string q[], string l[], string m[]){
int ind1 =0,ind2=0;
for(int i =0;i<n;i++){
if(arr[i].num == 1){
p[i] = arr[i%n].f;
q[i] = arr[i%n].s;
}
else if(arr[i].num ==0){
l[i] = arr[i%n].f;
m[i] = arr[i%n].s;
}
else{
p[i] = arr[i%n].f;
q[i] = arr[i%n].f;
l[i] = arr[i%n].f;
m[i] = arr[i%n].f;
}
}
/* for(int i =0;i<n;i++){
cout<<p[i]<<q[i]<<l[i]<<m[i];
}*/
}
void find(field arr[], int n){
string p[n], q[n], l[n], m[n];
prints(arr, n, p, q, l, m);
string b[4*n], r[4*n];
int ind = 0;
for(int i =0;i<n;i++){
b[ind++] = p[i];
b[ind++] =q[i];
b[ind++] =l[i];
b[ind++] = m[i];
}
for(int i = 0;i<4*n;i++){
for(int j = i+1;j<4*n;j++){
if(b[i]==b[j]){
b[i] = "remove";
}
}
}
for(int i = 0;i<4*n;i++){
if(b[i]!= "remove")
r[i]= b[i];
}
for(int i =0;i<4*n;i++)
cout<<r[i]<<" ";
}
int main() {
// your code goes here
int n;
cin>>n;
field arr[n];
for(int i =0;i<n;i++){
cin>>arr[i].f>>arr[i].s>>arr[i].num;
}
find(arr, n);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgZmllbGR7CglzdHJpbmcgZjsKCXN0cmluZyBzOwoJaW50IG51bTsKfTsKdm9pZCBwcmludHMoZmllbGQgYXJyW10sIGludCBuLCBzdHJpbmcgcFtdLCBzdHJpbmcgcVtdLCBzdHJpbmcgbFtdLCBzdHJpbmcgbVtdKXsKCWludCBpbmQxID0wLGluZDI9MDsKCWZvcihpbnQgaSA9MDtpPG47aSsrKXsKCQlpZihhcnJbaV0ubnVtID09IDEpewoJCQlwW2ldID0gYXJyW2klbl0uZjsKCQkJcVtpXSA9IGFycltpJW5dLnM7CiAKCQl9CgkJZWxzZSBpZihhcnJbaV0ubnVtID09MCl7CgkJCWxbaV0gPSBhcnJbaSVuXS5mOwoJCQltW2ldID0gYXJyW2klbl0uczsKCQl9CgkJZWxzZXsKCQkJcFtpXSA9IGFycltpJW5dLmY7CgkJCXFbaV0gPSBhcnJbaSVuXS5mOwoJCQlsW2ldID0gYXJyW2klbl0uZjsKCQkJbVtpXSA9IGFycltpJW5dLmY7CgkJfQoJfQovKglmb3IoaW50IGkgPTA7aTxuO2krKyl7CgkJY291dDw8cFtpXTw8cVtpXTw8bFtpXTw8bVtpXTsKCX0qLwp9Cgp2b2lkIGZpbmQoZmllbGQgYXJyW10sIGludCBuKXsKCXN0cmluZyBwW25dLCBxW25dLCBsW25dLCBtW25dOwoJcHJpbnRzKGFyciwgbiwgcCwgcSwgbCwgbSk7CglzdHJpbmcgYls0Km5dLCByWzQqbl07CglpbnQgaW5kID0gMDsKCWZvcihpbnQgaSA9MDtpPG47aSsrKXsKCQliW2luZCsrXSA9IHBbaV07CiAKCQliW2luZCsrXSA9cVtpXTsKIAogICAgICAgIGJbaW5kKytdICA9bFtpXTsKIAoJCWJbaW5kKytdID0gbVtpXTsKIAp9CmZvcihpbnQgaSA9IDA7aTw0Km47aSsrKXsKCQlmb3IoaW50IGogPSBpKzE7ajw0Km47aisrKXsKCQkJaWYoYltpXT09YltqXSl7CgkJCQliW2ldID0gInJlbW92ZSI7CgkJCX0KCQl9Cgl9Cglmb3IoaW50IGkgPSAwO2k8NCpuO2krKyl7CgkJaWYoYltpXSE9ICJyZW1vdmUiKQoJCXJbaV09IGJbaV07Cgl9Cglmb3IoaW50IGkgPTA7aTw0Km47aSsrKQoJY291dDw8cltpXTw8IiAiOwoKfQoKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG47CgljaW4+Pm47CglmaWVsZCBhcnJbbl07Cglmb3IoaW50IGkgPTA7aTxuO2krKyl7CgkJY2luPj5hcnJbaV0uZj4+YXJyW2ldLnM+PmFycltpXS5udW07Cgl9CgoJZmluZChhcnIsIG4pOwoJcmV0dXJuIDA7Cn0=