#include <iostream>
#include <string>
#include <sstream>

using namespace std;

#define rep(i,n) for(int i=0;i<n;i++)

long long foo(string s,int x){
	rep(i,s.size()){
		if(s[i]=='X') s[i]=x+'0';
	}
	stringstream ss;
	ss<<s;
	long long t;
	ss>>t;
	return t; 
}

string foo2(string a,string b){
	int t=0;
	if(a.size()<b.size()) swap(a,b);
	rep(i,a.size()){
		a[i]-='0';
	}
	rep(i,b.size()){
		b[i]-='0';
	}
	int j=a.size()-1;
	for(int i=b.size()-1;i>=0;i--){
		bool f=false;
		if(a[j]+b[i]+t>=10) f=true;
		else f=false;
		a[j]=(a[j]+b[i]+t)%10;
		if(f) t=1;
		else t=0;
		j--;
	}
	bool f2=false;
	if(a.size()==b.size()&&t==1) f2=true;
	else{
		for(;j>=0;j--){
			if(t==0) break;
			bool f=false;
			if(a[j]+t>=10) f=true;
			else f=false;
			a[j]=(a[j]+t)%10;
			if(f) t=1;
			else t=0;
		}
		if(t==1) f2=true;
	}
	rep(i,a.size()){
		a[i]+='0';
	}

	if(f2) a="1"+a;
	// cout<<a<<endl;
	return a;
}
string foo3(string s,int a){
	rep(i,s.size()){
		if(s[i]=='X'){
			s[i]=a+'0';
		}
	}
	// cout<<s<<endl;
	return s;
}

int main(){
	string s;
	while(cin>>s){
		// cout<<s<<endl;
		stringstream ss;
		bool f=true;
		int x,y;
		rep(i,s.size()){
			if(s[i]=='+') x=i;
			if(s[i]=='=') y=i;
		}
		string a,b,c;
		a=s.substr(0,x);
		b=s.substr(x+1,y-x-1);
		c=s.substr(y+1);
		// cout<<a<<" "<<b<<" "<<c<<endl;
		if(a.size()>=2&&a[0]=='X') f=false;
		if(b.size()>=2&&b[0]=='X') f=false;
		if(c.size()>=2&&c[0]=='X') f=false;
		bool f2=true;
		rep(i,10){
			if(i==0&&f){
				// cout<<foo2(foo3(a,i),foo3(b,i))<<endl;
				if(foo2(foo3(a,i),foo3(b,i))==foo3(c,i)) {
					cout<<i<<endl;
					f2=false;
					break;
				}
			}
			else{
				if(foo2(foo3(a,i),foo3(b,i))==foo3(c,i)) {
					cout<<i<<endl;
					f2=false;
					break;
				}
			}
		}
		if(f2) cout<<"NA\n";
	}
}