import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.util.StringTokenizer;


public class result {

	
	public static void main(String[] args) throws IOException {
		StringWriter writer = new StringWriter();
		BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
		String line = bfr.readLine();
		StringTokenizer tokenizer;
		while(!line.equals("END")) {		
			int prvni = nasobeni(line);
			int druha = scitani(line);			
			writer.append(Math.min(prvni, druha)+" "+Math.max(prvni, druha)+"\n");
			line = bfr.readLine();
		}
		System.out.print(writer);
	}
	
	/**
	 * @param args
	 */
	public static int nasobeni(String retezec){
		String pole [] = retezec.split("\\*");
		int result [] = new int [pole.length];
		
		for (int i = 0; i < pole.length; i++) {
			String pom [] = pole[i].split("\\+");
			int soucet = 0;
			for (int j = 0; j < pom.length; j++) {
				soucet += Integer.valueOf(pom[j]);
			}
			result[i] = soucet;
		}
		if(result.length == 1)
			return result[0];
		int vysledek = result[0];
		for (int i = 1; i < result.length; i++) {
			vysledek *= result[i]; 
		}
		return vysledek;
	}
	
	
	public static int scitani(String retezec){
		String pole [] = retezec.split("\\+");
		int result [] = new int [pole.length];
		for (int i = 0; i < pole.length; i++) {
			String pom [] = pole[i].split("\\*");
			if(pom.length == 1)
				result[i] = Integer.valueOf(pom[0]);
			else{
				int nasobek = Integer.valueOf(pom[0]);
				for (int j = 1; j < pom.length; j++) {
					nasobek *= Integer.valueOf(pom[j]);
				}
				result[i] = nasobek;
			}
		}
		int soucet = 0;
		for (int i = 0; i < result.length; i++) {
			soucet += result[i]; 
		}
		return soucet;
	}
	


}
