// Arup Guha
// 11/16/2014
// Solution to 2014 South East Regional D2 Problem: Runes

import java.util.*;

public class runes {

	public static void main(String[] args) {
		Scanner stdin = new Scanner(System.in);
		String expr = stdin.next();
		System.out.println(solve(expr));
	}

	public static int solve(String expr) {

		// Try all digits for ?
		for (int i=0; i<10; i++) {
			if (expr.contains(""+i)) continue;
			String tryExpr = replaceAll(expr,'?',(char)('0'+i));
			if (valid(tryExpr)) return i;
		}

		// Nothing works.
		return -1;
	}

	// Since regex can't do this with '?'
	public static String replaceAll(String source, char x, char y) {
		String ans = "";
		for (int i=0; i<source.length(); i++) {
			if (source.charAt(i) != x)  ans = ans + source.charAt(i);
			else						ans = ans + y;
		}
		return ans;
	}

	public static boolean valid(String expr) {

		// Get first operand.
		int i = 1;
		while (Character.isDigit(expr.charAt(i))) i++;
		String op1 = expr.substring(0, i);
		if (invalidNum(op1)) return false;

		// Get operator.
		char op = expr.charAt(i);

		// Get second operand.
		int start = i;
		while (expr.charAt(i) != '=') i++;
		String op2 = expr.substring(start+1, i);
		if (invalidNum(op2)) return false;

		// Get third operand.
		String res = expr.substring(i+1);
		if (invalidNum(res)) return false;

		// Convert to numbers - longs because 6 digits x 6 digits overflows int.
		long a = Long.parseLong(op1);
		long b = Long.parseLong(op2);
		long c = Long.parseLong(res);

		// Return validity.
		if (op == '+') return a + b == c;
		if (op == '-') return a - b == c;
		return a*b == c;
	}

	// Listen to their rules about leading 0s.
	public static boolean invalidNum(String num) {
		if (num.length() > 1 && num.charAt(0) == '0') return true;
		if (num.startsWith("-0")) return true;
		return false;
	}
}
