#include <iostream>
#include <string>
#include <regex>
using namespace std;
long long int equalMatches(string str, regex pattern)
{
smatch matches;
string temp;
size_t position=str.find('=',0);
string lewa=str.substr(0,position);
string prawa=str.substr(position+1,str.size()-position);
long long int suma=0;
while(regex_search(lewa, matches, pattern))
{
if (matches[2]=="")
{
suma+=1;
}
else
{
temp=matches[2];
suma+=atoll(temp.c_str());
}
lewa=matches.suffix();
}
while(regex_search(prawa, matches, pattern))
{
if (matches[2]=="")
{
suma-=1;
}
else
{
temp=matches[2];
suma-=atoll(temp.c_str());
}
prawa=matches.suffix();
}
return suma;
}
int main()
{
long long int n;
long long int x;
long long int L;
cin>>n;
regex x_plus("(^|[+])(\\d*?)(x{1})");
regex x_minus("(-)(\\d*?)(x{1})");
regex L_plus("(^|[+])(\\d+)([^x\\d]|$)");
regex L_minus("(-)(\\d+)([^x\\d]|$)");
for (int i=0; i<n; i++)
{
string rownanie;
cin>>rownanie;
x=equalMatches(rownanie,x_plus)-equalMatches(rownanie,x_minus);
L=equalMatches(rownanie,L_plus)-equalMatches(rownanie,L_minus);
if (x==0)
cout<<"NIE"<<endl;
else
cout<<-L/x<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8cmVnZXg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmxvbmcgbG9uZyBpbnQgZXF1YWxNYXRjaGVzKHN0cmluZyBzdHIsIHJlZ2V4IHBhdHRlcm4pCnsKICAgIHNtYXRjaCBtYXRjaGVzOwogICAgc3RyaW5nIHRlbXA7CiAgICBzaXplX3QgcG9zaXRpb249c3RyLmZpbmQoJz0nLDApOwogICAgc3RyaW5nIGxld2E9c3RyLnN1YnN0cigwLHBvc2l0aW9uKTsKICAgIHN0cmluZyBwcmF3YT1zdHIuc3Vic3RyKHBvc2l0aW9uKzEsc3RyLnNpemUoKS1wb3NpdGlvbik7CiAgICBsb25nIGxvbmcgaW50IHN1bWE9MDsKICAgIHdoaWxlKHJlZ2V4X3NlYXJjaChsZXdhLCBtYXRjaGVzLCBwYXR0ZXJuKSkKICAgIHsKICAgICAgICBpZiAobWF0Y2hlc1syXT09IiIpCiAgICAgICAgewogICAgICAgICAgICBzdW1hKz0xOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICB0ZW1wPW1hdGNoZXNbMl07CiAgICAgICAgICAgIHN1bWErPWF0b2xsKHRlbXAuY19zdHIoKSk7CiAgICAgICAgfQogICAgICAgIGxld2E9bWF0Y2hlcy5zdWZmaXgoKTsKICAgIH0KICAgIHdoaWxlKHJlZ2V4X3NlYXJjaChwcmF3YSwgbWF0Y2hlcywgcGF0dGVybikpCiAgICB7CiAgICAgICAgaWYgKG1hdGNoZXNbMl09PSIiKQogICAgICAgIHsKICAgICAgICAgICAgc3VtYS09MTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdGVtcD1tYXRjaGVzWzJdOwogICAgICAgICAgICBzdW1hLT1hdG9sbCh0ZW1wLmNfc3RyKCkpOwogICAgICAgIH0KICAgICAgICBwcmF3YT1tYXRjaGVzLnN1ZmZpeCgpOwogICAgfQogICAgcmV0dXJuIHN1bWE7Cn0KCgppbnQgbWFpbigpCnsKICAgIGxvbmcgbG9uZyBpbnQgbjsKICAgIGxvbmcgbG9uZyBpbnQgeDsKICAgIGxvbmcgbG9uZyBpbnQgTDsKICAgIGNpbj4+bjsKCiAgICByZWdleCB4X3BsdXMoIihefFsrXSkoXFxkKj8pKHh7MX0pIik7CiAgICByZWdleCB4X21pbnVzKCIoLSkoXFxkKj8pKHh7MX0pIik7CiAgICByZWdleCBMX3BsdXMoIihefFsrXSkoXFxkKykoW154XFxkXXwkKSIpOwogICAgcmVnZXggTF9taW51cygiKC0pKFxcZCspKFteeFxcZF18JCkiKTsKICAgIGZvciAoaW50IGk9MDsgaTxuOyBpKyspCiAgICB7CiAgICAgICAgc3RyaW5nIHJvd25hbmllOwogICAgICAgIGNpbj4+cm93bmFuaWU7CgogICAgICAgIHg9ZXF1YWxNYXRjaGVzKHJvd25hbmllLHhfcGx1cyktZXF1YWxNYXRjaGVzKHJvd25hbmllLHhfbWludXMpOwogICAgICAgIEw9ZXF1YWxNYXRjaGVzKHJvd25hbmllLExfcGx1cyktZXF1YWxNYXRjaGVzKHJvd25hbmllLExfbWludXMpOwoKICAgICAgICBpZiAoeD09MCkKICAgICAgICAgICAgY291dDw8Ik5JRSI8PGVuZGw7CiAgICAgICAgZWxzZQogICAgICAgICAgICBjb3V0PDwtTC94PDxlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9