#include <iostream>
using namespace std;
struct field{
string f;
string s;
int num;
};
void removeNumbersAndCommas(string arr[], int n) {
for (int i = 0; i < n; i++) {
int j = 0; // Index for the current word
// Iterate over each character in the word
while (arr[i][j] != '\0') {
if (arr[i][j] >= '0' && arr[i][j] <= '9') {
// If the character is a number, remove it by shifting the rest of the characters
int k = j;
while (arr[i][k] != '\0') {
arr[i][k] = arr[i][k + 1];
k++;
}
} else if (arr[i][j] == ',') {
// If the character is a comma, remove it by shifting the rest of the characters
int k = j;
while (arr[i][k] != '\0') {
arr[i][k] = arr[i][k + 1];
k++;
}
} else {
j++; // Move to the next character in the word
}
}
}
}
void prints(field arr[], int n, string p[], string q[], string l[], string m[], string b[], int ind){
for(int i =0;i<n;i++){
if(arr[i].num == 1){
p[i] = arr[i%n].f;
b[ind++] = p[i];
q[i] = arr[i%n].s;
b[ind++] = q[i];
}
else if(arr[i].num ==0){
l[i] = arr[i%n].f;
b[ind++] = l[i];
m[i] = arr[i%n].s;
b[ind++] = m[i];
}
else{
p[i] = arr[i%n].f;
b[ind++] = p[i];
q[i] = arr[i%n].f;
b[ind++] = q[i];
l[i] = arr[i%n].f;
b[ind++] = l[i];
m[i] = arr[i%n].f;
b[ind++] = m[i];
}
}
}
void find(field arr[], int n, string b[]){
string p[n], q[n], l[n], m[n];
int ind = 0;
prints(arr, n, p, q, l, m, b, ind);
string r[4*n];
removeNumbersAndCommas(b, n);
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]<<" ";
}
void f(field arr[], int n){
string b[4*n];
find(arr, n, b);
}
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;
}
f(arr, n);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgZmllbGR7CglzdHJpbmcgZjsKCXN0cmluZyBzOwoJaW50IG51bTsKfTsKCnZvaWQgcmVtb3ZlTnVtYmVyc0FuZENvbW1hcyhzdHJpbmcgYXJyW10sIGludCBuKSB7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGludCBqID0gMDsgIC8vIEluZGV4IGZvciB0aGUgY3VycmVudCB3b3JkCiAKICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBjaGFyYWN0ZXIgaW4gdGhlIHdvcmQKICAgICAgICB3aGlsZSAoYXJyW2ldW2pdICE9ICdcMCcpIHsKICAgICAgICAgICAgaWYgKGFycltpXVtqXSA+PSAnMCcgJiYgYXJyW2ldW2pdIDw9ICc5JykgewogICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoYXJhY3RlciBpcyBhIG51bWJlciwgcmVtb3ZlIGl0IGJ5IHNoaWZ0aW5nIHRoZSByZXN0IG9mIHRoZSBjaGFyYWN0ZXJzCiAgICAgICAgICAgICAgICBpbnQgayA9IGo7CiAgICAgICAgICAgICAgICB3aGlsZSAoYXJyW2ldW2tdICE9ICdcMCcpIHsKICAgICAgICAgICAgICAgICAgICBhcnJbaV1ba10gPSBhcnJbaV1bayArIDFdOwogICAgICAgICAgICAgICAgICAgIGsrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChhcnJbaV1bal0gPT0gJywnKSB7CiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY2hhcmFjdGVyIGlzIGEgY29tbWEsIHJlbW92ZSBpdCBieSBzaGlmdGluZyB0aGUgcmVzdCBvZiB0aGUgY2hhcmFjdGVycwogICAgICAgICAgICAgICAgaW50IGsgPSBqOwogICAgICAgICAgICAgICAgd2hpbGUgKGFycltpXVtrXSAhPSAnXDAnKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyW2ldW2tdID0gYXJyW2ldW2sgKyAxXTsKICAgICAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBqKys7ICAvLyBNb3ZlIHRvIHRoZSBuZXh0IGNoYXJhY3RlciBpbiB0aGUgd29yZAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CnZvaWQgcHJpbnRzKGZpZWxkIGFycltdLCBpbnQgbiwgc3RyaW5nIHBbXSwgc3RyaW5nIHFbXSwgc3RyaW5nIGxbXSwgc3RyaW5nIG1bXSwgc3RyaW5nIGJbXSwgaW50IGluZCl7Cgpmb3IoaW50IGkgPTA7aTxuO2krKyl7CgkJaWYoYXJyW2ldLm51bSA9PSAxKXsKCQkJcFtpXSA9IGFycltpJW5dLmY7CgkJCWJbaW5kKytdID0gcFtpXTsKCQkJcVtpXSA9IGFycltpJW5dLnM7CgkJCWJbaW5kKytdID0gcVtpXTsKIAoJCX0KCQllbHNlIGlmKGFycltpXS5udW0gPT0wKXsKCQkJbFtpXSA9IGFycltpJW5dLmY7CgkJCWJbaW5kKytdID0gbFtpXTsKCQkJbVtpXSA9IGFycltpJW5dLnM7CgkJCWJbaW5kKytdID0gbVtpXTsKCQl9CgkJZWxzZXsKCQkJcFtpXSA9IGFycltpJW5dLmY7CgkJCWJbaW5kKytdID0gcFtpXTsKCQkJcVtpXSA9IGFycltpJW5dLmY7CgkJCWJbaW5kKytdID0gcVtpXTsKCQkJbFtpXSA9IGFycltpJW5dLmY7CgkJCWJbaW5kKytdID0gbFtpXTsKCQkJbVtpXSA9IGFycltpJW5dLmY7CgkJCWJbaW5kKytdID0gbVtpXTsKCQl9Cgl9Cn0KCnZvaWQgZmluZChmaWVsZCBhcnJbXSwgaW50IG4sIHN0cmluZyBiW10pewoJc3RyaW5nIHBbbl0sIHFbbl0sIGxbbl0sIG1bbl07CglpbnQgaW5kID0gMDsKCXByaW50cyhhcnIsIG4sIHAsIHEsIGwsIG0sIGIsIGluZCk7CglzdHJpbmcgIHJbNCpuXTsKCQpyZW1vdmVOdW1iZXJzQW5kQ29tbWFzKGIsIG4pOwpmb3IoaW50IGkgPSAwO2k8NCpuO2krKyl7CgkJZm9yKGludCBqID0gaSsxO2o8NCpuO2orKyl7CgkJCWlmKGJbaV09PWJbal0pewoJCQkJYltpXSA9ICJyZW1vdmUiOwoJCQl9CgkJfQoJfQoJZm9yKGludCBpID0gMDtpPDQqbjtpKyspewoJCWlmKGJbaV0hPSAicmVtb3ZlIikKCQlyW2ldPSBiW2ldOwoJfQoJZm9yKGludCBpID0wO2k8NCpuO2krKykKCWNvdXQ8PHJbaV08PCIgIjsKCn0KCnZvaWQgZihmaWVsZCBhcnJbXSwgaW50IG4pewoJc3RyaW5nIGJbNCpuXTsKCWZpbmQoYXJyLCBuLCBiKTsKfQppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBuOwoJY2luPj5uOwoJZmllbGQgYXJyW25dOwoJZm9yKGludCBpID0wO2k8bjtpKyspewoJCWNpbj4+YXJyW2ldLmY+PmFycltpXS5zPj5hcnJbaV0ubnVtOwoJfQoKCWYoYXJyLCBuKTsKCXJldHVybiAwOwp9