#include<iostream>
#include<algorithm>
#include<string>
#define all(c) c.begin(),c.end()
using namespace std;
string sum(string a,string b){
	int n=max(a.size(),b.size());
	for(;a.size()!=b.size();){
		if(a.size()<b.size())
		a+='0';
		else
		b+='0';
	}
	string s="";
	int flag=0;
	for(int i=0;i<n;i++){
		int x=(a[i]-'0')+(b[i]-'0')+flag;
		flag=0;
		if(x>=10){
			x-=10;
			flag=1;
		}
		s+='0'+x;
		
	}
	if(flag)
	s+='1';
	return s;
}
bool cal(string a,string b,string c,int x){
	bool flag=false;
	for(int i=0;i<a.size();i++){
		if(a[i]=='X'){
			a[i]='0'+x;
			flag=true;
		}
	}
	for(int i=0;i<b.size();i++){
		if(b[i]=='X'){
			b[i]='0'+x;
			flag=true;
		}
	}for(int i=0;i<c.size();i++){
		if(c[i]=='X'){
			c[i]='0'+x;
			flag=true;
		}
	}
	if(!flag)
	return false;
	if(sum(a,b)==c)
	return true;
	return false;
}
int main(){
	string s;
	while(cin>>s){
		int p,e,n=s.size();
		for(int i=0;i<n;i++){
			if(s[i]=='+'){
				p=i;
			}else if(s[i]=='='){
				e=i;
			}
		}
		string a=s.substr(0,p),b=s.substr(p+1,e-p-1),c=s.substr(e+1);
		int s=0;
		if((a.size()>1&&a[0]=='X')||(b.size()>1&&b[0]=='X')||(c.size()>1&&c[0]=='X')){
			s=1;
		}
		reverse(all(a));reverse(all(b));reverse(all(c));
		int ans=10;
		for(int i=s;i<=9;i++){
			if(cal(a,b,c,i)){
				if(ans!=10){
					ans=10;
					break;
				}else{
					ans=i;
				}
			}
		}
		if(ans==10)
		cout<<"NA"<<endl;
		else
		cout<<ans<<endl;
	}
	return 0;
}