#include<iostream>
#include<algorithm>
#include<string>
using namespace std;

string s,no1,no2,ans;
int l1,l2;
int solve(int);

int main(){
  while(cin >> s){

    //分割しよう
    no1 = s.substr(0,s.find('+'));
    no2 = s.substr(s.find('+')+1,s.find('=')-s.find('+')-1);
    ans = s.substr(s.find('=')+1);

    l1=no1.size(),l2=no2.size();
    if(l1<l2)swap(l1,l2),swap(no1,no2);
    bool ok=false;
    for(int i=0;i<10;i++){
      if(solve(i)==1){
	cout<<i<<endl;
	ok=true;
	break;
      }
    }
    if(!ok)cout<<"NA"<<endl;
  }
}

int solve(int x){
  string cno1=no1,cno2=no2,cans=ans;

  // Xを数に置き換えよう
  for(int i=0;i<l1;i++)if(cno1[i]=='X')cno1[i]=x+'0';
  for(int i=0;i<l2;i++)if(cno2[i]=='X')cno2[i]=x+'0';
  for(int i=0,l=ans.size();i<l;i++)if(ans[i]=='X')cans[i]=x+'0';

  //足し算しよう
  for(int i=l1-1,j=l2-1;i>=0;i--,j--){
    if(j>=0) cno1[i]+=cno2[j]-'0';
    if(cno1[i]>'9'){
      cno1[i]-=10;
      if(i==0)cno1="1"+cno1;
      else cno1[i-1]++;
    }
  }

  //等しかったら1,不等だったら0を返そう
  return (cno1==cans ? 1 : 0);
}