#include<iostream>

using namespace std;

int main(void) {
	string str;
	int st, ppos, epos, de, cr;
	bool d0, d1, d2;
	int i, j;

	while(true) {
		cin >> str;
		if(cin.eof()) { break; }

		if(str[0] == 'X') { st = 1; }
		else if(str.find("+X")!=string::npos) { st = 1; }
		else if(str.find("=X")!=string::npos) { st = 1; }
		else { st = 0; }

		ppos = str.find("+");
		epos = str.find("=");
		for(i = st; i < 10; i++) {
			cr = 0;
			d0 = true; d1 = true; d2 = true;
			for(j = 0; true; j++) {
				if(ppos-1-j < 0) { d0 = false; }
				if(epos-1-j < ppos+1) { d1 = false; }
				if((int)str.size()-1-j < epos+1) { d2 = false; }
				if(!d2) { break; }

				de = 0;

				if(d0 && str[ppos-1-j] == 'X') { de += i; }
				else if(d0) { de += str[ppos-1-j] - '0'; }
				if(d1 && str[epos-1-j] == 'X') { de += i; }
				else if(d1) { de += str[epos-1-j] - '0'; }
				de += cr;
				if(de >= 10) { de -= 10; cr = 1; }
				else { cr = 0; }
				if((str[str.size()-1-j] == 'X' && de != i) || (str[str.size()-1-j] != 'X' && de != str[str.size()-1-j] - '0')) { break; }
			}

			if(!d0 && !d1) {
				break;
			}
		}

		if(i != 10) {
			cout << i << endl;
		} else {
			cout << "NA" << endl;
		}
	}

	return 0;
}