#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>

using namespace std;

typedef vector<int> vi;
typedef vector<vi> vii;
typedef vector<string> vs;
typedef vector<bool> vb;
typedef vector<vb> vbb;
typedef pair<int, int> pii;
typedef long long ll;
typedef unsigned long long ull;

#define all(a)  (a).begin(),(a).end()
#define rall(a) (a).rbegin(), (a).rend()
#define pb push_back
#define mp make_pair

#define loop(i,a,b) for(int i=(a);i<ull(b);++i)
#define rep(i,n) loop(i,0,n)

const double eps = 1e-10;
const double pi  = acos(-1.0);
const double inf = (int)1e8;

int toi(string s){
    int ret = 0;
    for(int i=0; i < s.size(); i++){
        string n = s.substr(i, 1);
        if("0" <= n && n <= "9"){ret += stoi(n);}
        if(i != s.size()-1) ret*=10;
    }
    return ret;
}

int tox(string s){
    int ret = 0;
    for(int i=0; i < s.size(); i++){
        if(s[i] == 'X')ret++;
        if(i != s.size()-1) ret*=10;
    }
    return ret;
}

bool judge(string s){
    return 1<s.size() && s[0]=='X';
}

int main(){
    string s;
    while(cin >> s){
        string p, q, r;
        int t;
        for(int i=0; i<s.size(); i++){
            if(s[i] == '+'){p = s.substr(0, i); t = i;}
            else if(s[i] == '='){q = s.substr(t+1, i-t-1); r = s.substr(i+1);}
        }
        int a=toi(p), b=toi(q), c=toi(r);
        int d=tox(p), e=tox(q), f=tox(r);
        bool exist_zero = !(judge(p)||judge(q)||judge(r));
        bool exist = false;
        for(int i=0; i <= 9; i++){
            if(!exist_zero&&!i) continue;
            if(a+b+(d+e)*i==c+f*i){cout << i << endl; exist = true;}
        }
        if(!exist) cout << "NA" << endl;
    }
}