#include <stdio.h>
#include <iostream>
#include <map>
using namespace std;
int main() {
int t;
scanf("%d", &t);
char OLD[300], NEW[300];
while(t--) {
scanf("%s %s", &OLD, &NEW);
map<string, string> O, N;
int i, idx;
char key[300], val[300];
for(i = 1; OLD[i]; i++) {
idx = 0;
while(OLD[i] != ':')
key[idx++] = OLD[i++];
key[idx] = '\0';
idx = 0, i++;
while(OLD[i] != ',' && OLD[i] != '}')
val[idx++] = OLD[i++];
val[idx] = '\0';
O[key] = val;
}
for(i = 1; NEW[i]; i++) {
idx = 0;
while(NEW[i] != ':')
key[idx++] = NEW[i++];
key[idx] = '\0';
idx = 0, i++;
while(NEW[i] != ',' && NEW[i] != '}')
val[idx++] = NEW[i++];
val[idx] = '\0';
N[key] = val;
}
int flag = 0, tot = 0;
for(map<string, string>::iterator it = N.begin();
it != N.end(); it++) {
if(O.find(it->first) == O.end()) {
if(!flag)
printf("+");
else
printf(",");
cout << it->first;
flag = 1;
}
}
if(flag) puts("");
tot += flag, flag = 0;
for(map<string, string>::iterator it = O.begin();
it != O.end(); it++) {
if(N.find(it->first) == N.end()) {
if(!flag)
printf("-");
else
printf(",");
cout << it->first;
flag = 1;
}
}
if(flag) puts("");
tot += flag, flag = 0;
for(map<string, string>::iterator it = N.begin();
it != N.end(); it++) {
if(O.find(it->first) != O.end()) {
if(it->second != O[it->first]) {
if(!flag)
printf("*");
else
printf(",");
cout << it->first;
flag = 1;
}
}
}
if(flag) puts("");
tot += flag, flag = 0;
if(!tot) puts("No changes");
puts("");
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKSB7CiAgICBpbnQgdDsKICAgIHNjYW5mKCIlZCIsICZ0KTsKICAgIGNoYXIgT0xEWzMwMF0sIE5FV1szMDBdOwogICAgd2hpbGUodC0tKSB7CiAgICAgICAgc2NhbmYoIiVzICVzIiwgJk9MRCwgJk5FVyk7CiAgICAgICAgbWFwPHN0cmluZywgc3RyaW5nPiBPLCBOOwogICAgICAgIGludCBpLCBpZHg7CiAgICAgICAgY2hhciBrZXlbMzAwXSwgdmFsWzMwMF07CiAgICAgICAgZm9yKGkgPSAxOyBPTERbaV07IGkrKykgewogICAgICAgICAgICBpZHggPSAwOwogICAgICAgICAgICB3aGlsZShPTERbaV0gIT0gJzonKQogICAgICAgICAgICAgICAga2V5W2lkeCsrXSA9IE9MRFtpKytdOwogICAgICAgICAgICBrZXlbaWR4XSA9ICdcMCc7CiAgICAgICAgICAgIGlkeCA9IDAsIGkrKzsKICAgICAgICAgICAgd2hpbGUoT0xEW2ldICE9ICcsJyAmJiBPTERbaV0gIT0gJ30nKQogICAgICAgICAgICAgICAgdmFsW2lkeCsrXSA9IE9MRFtpKytdOwogICAgICAgICAgICB2YWxbaWR4XSA9ICdcMCc7CiAgICAgICAgICAgIE9ba2V5XSA9IHZhbDsKICAgICAgICB9CiAgICAgICAgZm9yKGkgPSAxOyBORVdbaV07IGkrKykgewogICAgICAgICAgICBpZHggPSAwOwogICAgICAgICAgICB3aGlsZShORVdbaV0gIT0gJzonKQogICAgICAgICAgICAgICAga2V5W2lkeCsrXSA9IE5FV1tpKytdOwogICAgICAgICAgICBrZXlbaWR4XSA9ICdcMCc7CiAgICAgICAgICAgIGlkeCA9IDAsIGkrKzsKICAgICAgICAgICAgd2hpbGUoTkVXW2ldICE9ICcsJyAmJiBORVdbaV0gIT0gJ30nKQogICAgICAgICAgICAgICAgdmFsW2lkeCsrXSA9IE5FV1tpKytdOwogICAgICAgICAgICB2YWxbaWR4XSA9ICdcMCc7CiAgICAgICAgICAgIE5ba2V5XSA9IHZhbDsKICAgICAgICB9CiAgICAgICAgaW50IGZsYWcgPSAwLCB0b3QgPSAwOwogICAgICAgIGZvcihtYXA8c3RyaW5nLCBzdHJpbmc+OjppdGVyYXRvciBpdCA9IE4uYmVnaW4oKTsKICAgICAgICAgICAgaXQgIT0gTi5lbmQoKTsgaXQrKykgewogICAgICAgICAgICBpZihPLmZpbmQoaXQtPmZpcnN0KSA9PSBPLmVuZCgpKSB7CiAgICAgICAgICAgICAgICBpZighZmxhZykKICAgICAgICAgICAgICAgICAgICBwcmludGYoIisiKTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiwiKTsKICAgICAgICAgICAgICAgIGNvdXQgPDwgaXQtPmZpcnN0OwogICAgICAgICAgICAgICAgZmxhZyA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoZmxhZykgICAgcHV0cygiIik7CiAgICAgICAgdG90ICs9IGZsYWcsIGZsYWcgPSAwOwogICAgICAgIGZvcihtYXA8c3RyaW5nLCBzdHJpbmc+OjppdGVyYXRvciBpdCA9IE8uYmVnaW4oKTsKICAgICAgICAgICAgaXQgIT0gTy5lbmQoKTsgaXQrKykgewogICAgICAgICAgICBpZihOLmZpbmQoaXQtPmZpcnN0KSA9PSBOLmVuZCgpKSB7CiAgICAgICAgICAgICAgICBpZighZmxhZykKICAgICAgICAgICAgICAgICAgICBwcmludGYoIi0iKTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiwiKTsKICAgICAgICAgICAgICAgIGNvdXQgPDwgaXQtPmZpcnN0OwogICAgICAgICAgICAgICAgZmxhZyA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoZmxhZykgICAgcHV0cygiIik7CiAgICAgICAgdG90ICs9IGZsYWcsIGZsYWcgPSAwOwogICAgICAgIGZvcihtYXA8c3RyaW5nLCBzdHJpbmc+OjppdGVyYXRvciBpdCA9IE4uYmVnaW4oKTsKICAgICAgICAgICAgaXQgIT0gTi5lbmQoKTsgaXQrKykgewogICAgICAgICAgICBpZihPLmZpbmQoaXQtPmZpcnN0KSAhPSBPLmVuZCgpKSB7CiAgICAgICAgICAgICAgICBpZihpdC0+c2Vjb25kICE9IE9baXQtPmZpcnN0XSkgewogICAgICAgICAgICAgICAgICAgIGlmKCFmbGFnKQogICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIioiKTsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiLCIpOwogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgaXQtPmZpcnN0OwogICAgICAgICAgICAgICAgICAgIGZsYWcgPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKGZsYWcpICAgIHB1dHMoIiIpOwogICAgICAgIHRvdCArPSBmbGFnLCBmbGFnID0gMDsKICAgICAgICBpZighdG90KSAgICBwdXRzKCJObyBjaGFuZ2VzIik7CiAgICAgICAgcHV0cygiIik7CiAgICB9CiAgICByZXR1cm4gMDsKCn0=