#include <bits/stdc++.h>
//#include <bits/extc++.h>
using namespace std;
// using namespace __gnu_pbds;
#define LSOne(S) ((S) & -(S))
#define FOR(i, a, b) for (int i = (int)a; i < (int)b; ++i)
#define RFOR(i, b, a) for (int i = (int)b; i > (int)a; --i)
#define EACH(x, a) for (auto &x : a)
#define ll long long
#define ld long double
#define str string
#define vt vector
#define ii pair<int, int>
#define dd pair<double, double>
#define vi vt<int>
#define vii vt<ii>
#define vvi vt<vi>
#define pX first
#define pY second
#define MP make_pair
#define PB push_back
#define SORT(A) sort(A.begin(), A.end())
#define RSORT(A) sort(A.rbegin(), A.rend())
// #define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
// #define ordered_multiset tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update>
#define PI acos(-1)
#define INF 1e9
#define EPS 1e-9
#define MOD 1e9 + 7
// STRINGS
bool in(char tofind, char arr[], int nels){
for(int i = 0; i < nels;i++){
char curr = arr[i];
if (curr == tofind) return true;
}
return false;
}
bool sortbysec(pair<string,int> &a, pair<string,int> &b){
return a.second > b.second;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int ncases; cin >> ncases;
char in[5];
FOR(i,0,ncases){
scanf("%s", in);
if(strcmp(in,"P=NP") == 0){
cout << "skipped" << endl;
}
else{
cout << in[0] - '0' + in[2] - '0' << endl;
}
}
// 1.5
// EX 1
/*
char line[80];
char out[5000];
while(gets(line) && strncmp(line,".......",7) != 0){
strcat(out,line);
strcat(out," ");
}
cout << "\n" << out;
*/
// EX 2
/*
char P[100]; char T[100]; gets(P); gets(T); //inputs
string p; string t; p = P; t = T; //inputs to string
size_t found = p.find(t); // returns index of match
cout << "Ocurrence in " << found << endl;
found = p.find(t, found + 1);
while(found){
if(found == string::npos) break;
cout << "Ocurrence in " << found << endl;
found = p.find(t, found + 1);
}
*/
// EX 3
/*
char a[] = "patata";
//a[0] = toupper(a[0]);
char vowels[] = "aeiou";
int nels = (sizeof(vowels)-1)/sizeof(vowels[0]);
FOR(i, 0, (sizeof(a)-1)/sizeof(a[0])){
char cur = a[i];
if(!in(cur,vowels, nels)){
cout << cur << " is consonant" << endl;
}
else{
cout << cur << " is vowel" << endl;
}
}
*/
// EX 4
/*
char T[200];
vector<string> tokens;
while(gets(T) && strcmp(T,"") != 0) {
for (char* token = strtok(T, " "); token != nullptr; token = strtok(nullptr," ")){
tokens.emplace_back(token);
}
}
sort(tokens.begin(), tokens.end()); // O(N*log(N))
for(int i = 0; i < tokens.size(); i++){
cout << tokens[i] << endl;
}
*/
// EX 5
/*
char T[200];
unordered_map<string,int> umap;
while(gets(T) && strcmp(T,"") != 0) {
for (char* token = strtok(T, " "); token != nullptr; token = strtok(nullptr," ")){
umap[token] += 1;
}
}
vector<pair<string,int>> comp(umap.begin(), umap.end());
sort(comp.begin(),comp.end(), sortbysec);
int max = comp[0].second;
for(auto x: comp){
if(x.second == max){
cout << x.first << ": " << x.second << endl;
}
}
*/
// EX 6
/*
char T;
int npoint = 0;
bool afterpoints = false;
int nchars = 0;
while(T = getchar()){
cout << T;
if(afterpoints){
if (T == '\n') break;
nchars++;
}
else if(T == '.') {
npoint += 1;
if (npoint == 7) afterpoints = true;
}
}
cout << nchars << " chars";
*/
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci8vI2luY2x1ZGUgPGJpdHMvZXh0YysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwovLyB1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKCiNkZWZpbmUgTFNPbmUoUykgKChTKSAmIC0oUykpCgojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IgKGludCBpID0gKGludClhOyBpIDwgKGludCliOyArK2kpCiNkZWZpbmUgUkZPUihpLCBiLCBhKSBmb3IgKGludCBpID0gKGludCliOyBpID4gKGludClhOyAtLWkpCiNkZWZpbmUgRUFDSCh4LCBhKSBmb3IgKGF1dG8gJnggOiBhKQoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIHN0ciBzdHJpbmcKI2RlZmluZSB2dCB2ZWN0b3IKI2RlZmluZSBpaSBwYWlyPGludCwgaW50PgojZGVmaW5lIGRkIHBhaXI8ZG91YmxlLCBkb3VibGU+CiNkZWZpbmUgdmkgdnQ8aW50PgojZGVmaW5lIHZpaSB2dDxpaT4KI2RlZmluZSB2dmkgdnQ8dmk+CiNkZWZpbmUgcFggZmlyc3QKI2RlZmluZSBwWSBzZWNvbmQKCiNkZWZpbmUgTVAgbWFrZV9wYWlyCiNkZWZpbmUgUEIgcHVzaF9iYWNrCgojZGVmaW5lIFNPUlQoQSkgc29ydChBLmJlZ2luKCksIEEuZW5kKCkpCiNkZWZpbmUgUlNPUlQoQSkgc29ydChBLnJiZWdpbigpLCBBLnJlbmQoKSkKCi8vICNkZWZpbmUgb3JkZXJlZF9zZXQgdHJlZTxpbnQsIG51bGxfdHlwZSwgbGVzczxpbnQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPgovLyAjZGVmaW5lIG9yZGVyZWRfbXVsdGlzZXQgdHJlZTxpbnQsIG51bGxfdHlwZSwgbGVzc19lcXVhbDxpbnQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPgoKI2RlZmluZSBQSSBhY29zKC0xKQojZGVmaW5lIElORiAxZTkKI2RlZmluZSBFUFMgMWUtOQojZGVmaW5lIE1PRCAxZTkgKyA3CgovLyBTVFJJTkdTCmJvb2wgaW4oY2hhciB0b2ZpbmQsIGNoYXIgYXJyW10sIGludCBuZWxzKXsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuZWxzO2krKyl7CiAgICAgICAgY2hhciBjdXJyID0gYXJyW2ldOwogICAgICAgIGlmIChjdXJyID09IHRvZmluZCkgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmJvb2wgc29ydGJ5c2VjKHBhaXI8c3RyaW5nLGludD4gJmEsIHBhaXI8c3RyaW5nLGludD4gJmIpewogICAgcmV0dXJuIGEuc2Vjb25kID4gYi5zZWNvbmQ7Cn0KCgoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoKICAgIGludCBuY2FzZXM7IGNpbiA+PiBuY2FzZXM7CiAgICBjaGFyIGluWzVdOwogICAgRk9SKGksMCxuY2FzZXMpewogICAgICAgIHNjYW5mKCIlcyIsIGluKTsKICAgICAgICBpZihzdHJjbXAoaW4sIlA9TlAiKSA9PSAwKXsKICAgICAgICAgICAgY291dCA8PCAic2tpcHBlZCIgPDwgZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgY291dCA8PCBpblswXSAtICcwJyArIGluWzJdIC0gJzAnIDw8IGVuZGw7CiAgICAgICAgfQoKICAgIH0KCiAgICAvLyAxLjUKICAgIC8vIEVYIDEKICAgIC8qCiAgICBjaGFyIGxpbmVbODBdOwogICAgY2hhciBvdXRbNTAwMF07CgogICAgd2hpbGUoZ2V0cyhsaW5lKSAmJiBzdHJuY21wKGxpbmUsIi4uLi4uLi4iLDcpICE9IDApewogICAgICAgIHN0cmNhdChvdXQsbGluZSk7CiAgICAgICAgc3RyY2F0KG91dCwiICIpOwogICAgfQogICAgY291dCA8PCAiXG4iIDw8IG91dDsKICAgICovCgogICAgLy8gRVggMgogICAgLyoKICAgIGNoYXIgUFsxMDBdOyBjaGFyIFRbMTAwXTsgZ2V0cyhQKTsgZ2V0cyhUKTsgLy9pbnB1dHMKICAgIHN0cmluZyBwOyBzdHJpbmcgdDsgcCA9IFA7IHQgPSBUOyAvL2lucHV0cyB0byBzdHJpbmcKCiAgICBzaXplX3QgZm91bmQgPSBwLmZpbmQodCk7IC8vIHJldHVybnMgaW5kZXggb2YgbWF0Y2gKICAgIGNvdXQgPDwgIk9jdXJyZW5jZSBpbiAiIDw8IGZvdW5kIDw8IGVuZGw7CiAgICBmb3VuZCA9IHAuZmluZCh0LCBmb3VuZCArIDEpOwogICAgd2hpbGUoZm91bmQpewogICAgICAgIGlmKGZvdW5kID09IHN0cmluZzo6bnBvcykgYnJlYWs7CiAgICAgICAgY291dCA8PCAiT2N1cnJlbmNlIGluICIgPDwgZm91bmQgPDwgZW5kbDsKICAgICAgICBmb3VuZCA9IHAuZmluZCh0LCBmb3VuZCArIDEpOwogICAgfQogICAgKi8KCiAgICAvLyBFWCAzCiAgICAvKgogICAgY2hhciBhW10gPSAicGF0YXRhIjsKICAgIC8vYVswXSA9IHRvdXBwZXIoYVswXSk7CiAgICBjaGFyIHZvd2Vsc1tdID0gImFlaW91IjsKICAgIGludCBuZWxzID0gKHNpemVvZih2b3dlbHMpLTEpL3NpemVvZih2b3dlbHNbMF0pOwoKICAgIEZPUihpLCAwLCAoc2l6ZW9mKGEpLTEpL3NpemVvZihhWzBdKSl7CiAgICAgICAgY2hhciBjdXIgPSBhW2ldOwogICAgICAgIGlmKCFpbihjdXIsdm93ZWxzLCBuZWxzKSl7CiAgICAgICAgICAgIGNvdXQgPDwgY3VyIDw8ICIgaXMgY29uc29uYW50IiA8PCBlbmRsOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBjb3V0IDw8IGN1ciA8PCAiIGlzIHZvd2VsIiA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KICAgICovCgogICAgLy8gRVggNAogICAgLyoKICAgIGNoYXIgVFsyMDBdOwogICAgdmVjdG9yPHN0cmluZz4gdG9rZW5zOwogICAgd2hpbGUoZ2V0cyhUKSAmJiBzdHJjbXAoVCwiIikgIT0gMCkgewogICAgICAgIGZvciAoY2hhciogdG9rZW4gPSBzdHJ0b2soVCwgIiAiKTsgdG9rZW4gIT0gbnVsbHB0cjsgdG9rZW4gPSBzdHJ0b2sobnVsbHB0ciwiICIpKXsKICAgICAgICAgICAgdG9rZW5zLmVtcGxhY2VfYmFjayh0b2tlbik7CiAgICAgICAgfQogICAgfQoKICAgIHNvcnQodG9rZW5zLmJlZ2luKCksIHRva2Vucy5lbmQoKSk7IC8vIE8oTipsb2coTikpCgogICAgZm9yKGludCBpID0gMDsgaSA8IHRva2Vucy5zaXplKCk7IGkrKyl7CiAgICAgICAgY291dCA8PCB0b2tlbnNbaV0gPDwgZW5kbDsKICAgIH0KICAgICovCgogICAgLy8gRVggNQogICAgLyoKICAgIGNoYXIgVFsyMDBdOwogICAgdW5vcmRlcmVkX21hcDxzdHJpbmcsaW50PiB1bWFwOwogICAgd2hpbGUoZ2V0cyhUKSAmJiBzdHJjbXAoVCwiIikgIT0gMCkgewogICAgICAgIGZvciAoY2hhciogdG9rZW4gPSBzdHJ0b2soVCwgIiAiKTsgdG9rZW4gIT0gbnVsbHB0cjsgdG9rZW4gPSBzdHJ0b2sobnVsbHB0ciwiICIpKXsKICAgICAgICAgICAgdW1hcFt0b2tlbl0gKz0gMTsKICAgICAgICB9CiAgICB9CgogICAgdmVjdG9yPHBhaXI8c3RyaW5nLGludD4+IGNvbXAodW1hcC5iZWdpbigpLCB1bWFwLmVuZCgpKTsKICAgIHNvcnQoY29tcC5iZWdpbigpLGNvbXAuZW5kKCksIHNvcnRieXNlYyk7CgogICAgaW50IG1heCA9IGNvbXBbMF0uc2Vjb25kOwogICAgZm9yKGF1dG8geDogY29tcCl7CiAgICAgICAgaWYoeC5zZWNvbmQgPT0gbWF4KXsKICAgICAgICAgICAgY291dCA8PCB4LmZpcnN0IDw8ICI6ICIgPDwgeC5zZWNvbmQgPDwgZW5kbDsKICAgICAgICB9CiAgICB9CiAgICAgKi8KCiAgICAvLyBFWCA2CiAgICAvKgogICAgY2hhciBUOwogICAgaW50IG5wb2ludCA9IDA7CiAgICBib29sIGFmdGVycG9pbnRzID0gZmFsc2U7CiAgICBpbnQgbmNoYXJzID0gMDsKCiAgICB3aGlsZShUID0gZ2V0Y2hhcigpKXsKICAgICAgICBjb3V0IDw8IFQ7CiAgICAgICAgaWYoYWZ0ZXJwb2ludHMpewogICAgICAgICAgICBpZiAoVCA9PSAnXG4nKSBicmVhazsKICAgICAgICAgICAgbmNoYXJzKys7CiAgICAgICAgfQoKICAgICAgICBlbHNlIGlmKFQgPT0gJy4nKSB7CiAgICAgICAgICAgIG5wb2ludCArPSAxOwogICAgICAgICAgICBpZiAobnBvaW50ID09IDcpIGFmdGVycG9pbnRzID0gdHJ1ZTsKICAgICAgICB9CgogICAgfQogICAgY291dCA8PCBuY2hhcnMgPDwgIiBjaGFycyI7CiAgICAqLwp9