#include <iostream>
#include <string>
#include <algorithm>
#include <math.h>
#include <vector>
#include <set>

using namespace std;
typedef long long LL;
static const double EPS = 1e-9;

#define FOR(i,k,n) for (int i=(k); i<(int)(n); ++i)
#define REP(i,n) FOR(i,0,n) 
void strtoi(string str, int x[], int n){
  REP(i,str.size()){
    x[i] = (str[str.size()-i-1]=='X')?n:(str[str.size()-i-1]-'0');
  }
}
bool IsSum(string a, string b, string c, int n){
  int p[128]={0},q[128]={0},r[128]={0},s[128]={0};
  strtoi(a,p,n);
  strtoi(b,q,n);
  strtoi(c,r,n);
  REP(i,128)
    s[i] = p[i] + q[i];
  REP(i,127){
    s[i+1] += s[i]/10;
    s[i]%=10;
  }
  REP(i,128){
    if(r[i]!=s[i]) 
      return false;
  }
  return true;
}

int main(void){  
  string tmp;
  while(cin>>tmp){
    bool flag=true;
    string a = tmp.substr(0,tmp.find("+")); 
    string b = tmp.substr(tmp.find("+") + 1 ,
        tmp.find("=") - tmp.find("+") - 1);
    string c = tmp.substr(tmp.find("=") + 1);
    FOR(i,1,10){
      if(IsSum(a,b,c,i)) {
        cout << i << endl;
        flag=false;
        break;
      }
    }
    if(flag&&IsSum(a,b,c,0)&&(a.size()<2||a[0]!='X')&&
        (b.size()<2||b[0]!='X')&&(c.size()<2||c[0]!='X'))
      cout << 0 << endl;
    else if(flag)cout << "NA" << endl;
  }
}