#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 lower(char C){
int asc = C;
if(C>='A' && C<='Z'){
asc = asc+32;
char clower;
clower = asc;
cout<<clower;
}
else if(C>='a' && C<='z')
cout<<C;
}
void lowerIntoUpp(char c){
if(c>='a'&&c<='z'){
c = c-32;
cout<<c;
}
else if(c>='A'&&c<='Z'){
cout<<c;
}
}
void convert(string str){
lowerIntoUpp(str[0]);
for(int i = 1;i<str.length();i++){
lower((str[i]));
}
}
void convertx(field arr[], int n){
string p[n], q[n], l[n], m[n];
prints(arr, n, p, q, l, m);
string b[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++){
convert(b[i]);
cout<<" ";
}
}
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;
}
convertx(arr, n);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgZmllbGR7CglzdHJpbmcgZjsKCXN0cmluZyBzOwoJaW50IG51bTsKfTsKdm9pZCBwcmludHMoZmllbGQgYXJyW10sIGludCBuLCBzdHJpbmcgcFtdLCBzdHJpbmcgcVtdLCBzdHJpbmcgbFtdLCBzdHJpbmcgbVtdKXsKCWludCBpbmQxID0wLGluZDI9MDsKCWZvcihpbnQgaSA9MDtpPG47aSsrKXsKCQlpZihhcnJbaV0ubnVtID09IDEpewoJCQlwW2ldID0gYXJyW2klbl0uZjsKCQkJcVtpXSA9IGFycltpJW5dLnM7CiAKCQl9CgkJZWxzZSBpZihhcnJbaV0ubnVtID09MCl7CgkJCWxbaV0gPSBhcnJbaSVuXS5mOwoJCQltW2ldID0gYXJyW2klbl0uczsKCQl9CgkJZWxzZXsKCQkJcFtpXSA9IGFycltpJW5dLmY7CgkJCXFbaV0gPSBhcnJbaSVuXS5mOwoJCQlsW2ldID0gYXJyW2klbl0uZjsKCQkJbVtpXSA9IGFycltpJW5dLmY7CgkJfQoJfQovKglmb3IoaW50IGkgPTA7aTxuO2krKyl7CgkJY291dDw8cFtpXTw8cVtpXTw8bFtpXTw8bVtpXTsKCX0qLwp9CnZvaWQgbG93ZXIoY2hhciBDKXsKCWludCBhc2MgPSBDOwoJaWYoQz49J0EnICYmIEM8PSdaJyl7CgkKCWFzYyA9IGFzYyszMjsKCWNoYXIgY2xvd2VyOwoJY2xvd2VyID0gYXNjOwoJY291dDw8Y2xvd2VyOwoJfQoJZWxzZSBpZihDPj0nYScgJiYgQzw9J3onKQogICAgICAgIGNvdXQ8PEM7CgkKCQp9Cgp2b2lkIGxvd2VySW50b1VwcChjaGFyIGMpeyAKCWlmKGM+PSdhJyYmYzw9J3onKXsKCSAgIGMgPSBjLTMyOwoJICAgY291dDw8YzsKCX0KCWVsc2UgaWYoYz49J0EnJiZjPD0nWicpewoJCWNvdXQ8PGM7Cgl9Cn0Kdm9pZCBjb252ZXJ0KHN0cmluZyBzdHIpewoJbG93ZXJJbnRvVXBwKHN0clswXSk7Cglmb3IoaW50IGkgPSAxO2k8c3RyLmxlbmd0aCgpO2krKyl7CgkJbG93ZXIoKHN0cltpXSkpOwoJfQp9CnZvaWQgY29udmVydHgoZmllbGQgYXJyW10sIGludCBuKXsKCXN0cmluZyBwW25dLCBxW25dLCBsW25dLCBtW25dOwoJcHJpbnRzKGFyciwgbiwgcCwgcSwgbCwgbSk7CglzdHJpbmcgYls0Km5dOwoJaW50IGluZCA9IDA7Cglmb3IoaW50IGkgPTA7aTxuO2krKyl7CgkJYltpbmQrK10gPSBwW2ldOwogCgkJYltpbmQrK10gPXFbaV07CiAKICAgICAgICBiW2luZCsrXSAgPWxbaV07CiAKCQliW2luZCsrXSA9IG1baV07CiAKfQogICAgICBmb3IoaW50IGkgPTA7aTw0Km47aSsrKXsKCQljb252ZXJ0KGJbaV0pOwoJCWNvdXQ8PCIgIjsKIAoJfQp9CmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG47CiBjaW4+Pm47CiBmaWVsZCBhcnJbbl07CiBmb3IoaW50IGkgPTA7aTxuO2krKyl7CiAJY2luPj5hcnJbaV0uZj4+YXJyW2ldLnM+PmFycltpXS5udW07CiB9CiAgICBjb252ZXJ0eChhcnIsIG4pOwogICAgcmV0dXJuIDA7Cn0=