#include <iostream>
#include <string>

using namespace std;
string s;
char a;
int num_p,num_e,ans,t,temp,p,q,r;
int ix[150];
bool flag,flagp,flagq,flagr,flaga;

void check(int x,int y,int z);

int main(){
	while(cin >> s){
		num_p=s.find('+');
		num_e=s.find('=');
		a=48;
		int i=0;
		flag=false;
		flaga=false;
		for(int j=0;j<10;j++){
			a=48+j;
			while( ( ix[i] =s.find('X') ) >=0 ){
				if(ix[i]==0)flaga=true;
				if(ix[i]==num_p+1)flaga=true;
				if(ix[i]==num_e+1)flaga=true;
				s[ix[i++]]=a;
			}
			if(flaga && j==0)continue;
			for(int k=0;k<i;k++){
				s[ix[k]]=a;
			}
			check(num_p-1,num_e-1,s.size()-1);
			if(flag){
				ans=a-'0';
				cout<< ans <<endl;
				break;
			}
			
			if(j==9){
				cout << "NA" << endl;
			}
		}
		
	}
	return 0;
}

void check(int x,int y,int z){
	t=0;
	flagp=flagq=flagr=false;
	while(1){
		p=(s[x]-'0')*(!flagp);
		q=(s[y]-'0')*(!flagq);
		r=(s[z]-'0')*(!flagr);
		temp=p+q;
		//cout <<temp << endl;
		if(temp%10+t!=r)return;
		t=temp/10;
		if(x==0&&y==num_p+1&&z==num_e+1)break;
		if(x==0)flagp=true;
		if(x>0)x--;
		if(y==num_p+1)flagq=true;
		if(y>num_p+1)y--;
		if(z==num_e+1)flagr=true;
		if(z>num_e+1)z--;

	}
	flag=true;
	return;
}