#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>

using namespace std;

string str;

bool C(string a,string b,string ans,int x){
	bool f=false;
	string aa,bb,ss;
	for(int i=0;i<a.size();i++){
		if(a[i]>='1' && a[i]<='9')f=true,aa+=a[i];
		if(a[i]=='0' && f)aa+=a[i];
		if(a[i]=='X'){
			if(f ||(x>0))aa+=x+'0',f=true;
		}
	}
	f=false;
	for(int i=0;i<b.size();i++){
		if(b[i]>='1' && b[i]<='9')f=true,bb+=b[i];
		if(b[i]=='0' && f)bb+=b[i];
		if(b[i]=='X'){
			if(f ||(x>0))bb+=x+'0',f=true;
		}
	}
	f=false;
	for(int i=0;i<ans.size();i++){
		if(ans[i]>='1' && ans[i]<='9')f=true,ss+=ans[i];
		if(ans[i]=='0' && f)ss+=ans[i];
		if(ans[i]=='X'){
			if(f ||(x>0))ss+=x+'0',f=true;
		}
	}
	reverse(aa.begin(),aa.end());
	reverse(bb.begin(),bb.end());
	string res;
	while(aa.size()>bb.size())bb+='0';
	while(bb.size()>aa.size())aa+='0';
	int up=0;
	for(int i=0;i<max(aa.size(),bb.size());i++){
		int ap=0;
		int bp=0;
		ap=aa[i]-'0';
		bp=bb[i]-'0';
		int np=(up+ap+bp)/10;
		res+=(up+ap+bp)%10+'0';
		up=np;
	}
	if(up==1)res+='1';
	if(!res.size())res+='0';
	if(!ss.size())ss+='0';
	reverse(res.begin(),res.end());
	//cout << res << " " << ss << endl;
	if(res==ss)return true;
	return false;
}

int main(void){
	while(cin >> str){
		string a,b,ans;
		int i=0;
		while(str[i]!='+'){
			a+=str[i];
			i++;
		}
		i++;
		while(str[i]!='='){
			b+=str[i];
			i++;
		}
		i++;
		while(i!=str.size()){
			ans+=str[i];
			i++;
		}
		for(i=0;i<10;i++){
			if(C(a,b,ans,i)){
				cout << i << endl;
				break;
			}
		}
		if(i==10)cout << "NA" << endl;
	}
	return 0;
}