<pre>import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;

public class Screen {
	static String[] nums;
	static String[] vyraz;
	static String line;
	static String riadok1;
	static String riadok2;

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		while (!(line = br.readLine()).equals(&quot;0 0&quot;)) {
			nums = line.split(&quot; &quot;);
			if (nums[0].equals(&quot;1&quot;)) {
				line = br.readLine();
				vyraz = line.split(&quot; &quot;);
				System.out.println(vyhodnotVyraz(vyraz));
			} else if (nums[0].equals(&quot;2&quot;)) {
				riadok1 = br.readLine();
				line = br.readLine();
				StringBuilder newVyraz = new StringBuilder();
				for (int i = 0; i &lt; line.length(); i++) {
					if (line.charAt(i) == '\\') {
						int koniecOdm = line.length();
						for (int j = i + 2; j &lt; line.length(); j++) {
							if (riadok1.charAt(j) == ' ') {
								koniecOdm = j;
								break;
							}
						}
						newVyraz.append((int) Math.sqrt(vyhodnotVyraz(line.substring(i + 2, koniecOdm).split(&quot; &quot;))));
						i = koniecOdm - 1;
					} else {
						newVyraz.append(line.charAt(i));
					}
				}
				System.out.println(vyhodnotVyraz(newVyraz.toString().split(&quot; &quot;)));
			} else {
				riadok1 = br.readLine();
				line = br.readLine();
				riadok2 = br.readLine();
				StringBuilder newVyraz = new StringBuilder();
				for (int i = 0; i &lt; line.length(); i++) {
					if (line.charAt(i) == '\\') {
						int koniecOdm = line.length();
						for (int j = i + 2; j &lt; line.length(); j++) {
							if (riadok1.charAt(j) == ' ') {
								koniecOdm = j;
								break;
							}
						}
						newVyraz.append((int) Math.sqrt(vyhodnotVyraz(line.substring(i + 2, koniecOdm).split(&quot; &quot;))));
						i = koniecOdm - 1;
					} else if (line.charAt(i) == '=') {
						int koniecRov = line.length();
						for (int j = i; j &lt; line.length(); j++) {
							if (line.charAt(j) == ' ') {
								koniecRov = j;
								break;
							}
						}
						int citatel = vyhodnotVyraz(riadok1.substring(i, koniecRov).split(&quot; &quot;));
						int menovatel = vyhodnotVyraz(riadok2.substring(i, koniecRov).trim().split(&quot; &quot;));
						newVyraz.append(citatel / menovatel);
						i = koniecRov - 1;
					} else {
						newVyraz.append(line.charAt(i));
					}
				}
				System.out.println(vyhodnotVyraz(newVyraz.toString().split(&quot; &quot;)));
			}
			line = br.readLine();
		}
	}

	private static int vyhodnotVyraz(String[] vyraz2) {
		Integer posledneCislo = null;
		int vysledok = 0;
		for (int i = 0; i &lt; vyraz2.length; i++) {
			if (jeCislo(vyraz2[i])) {
				posledneCislo = Integer.parseInt(vyraz2[i]);
			} else {
				if (vyraz2[i].equals(&quot;+&quot;)) {
					vysledok += posledneCislo;
					posledneCislo = 0;
					// if (i + 2 &lt; vyraz2.length &amp;&amp; vyraz2[i + 2].equals(&quot;*&quot;)) {
					// vysledok += posledneCislo;
					// }
				} else if (vyraz2[i].equals(&quot;-&quot;)) {
					vysledok += posledneCislo;
					posledneCislo = 0;
					vyraz2[i + 1] = &quot;-&quot; + vyraz2[i + 1];
				} else {
					posledneCislo = posledneCislo * Integer.parseInt(vyraz2[i + 1]);
					i++;
				}
			}
		}
		vysledok += posledneCislo;
		return vysledok;
	}

	private static boolean jeCislo(String string) {
		return !(string.equals(&quot;+&quot;) || string.equals(&quot;*&quot;) || string.equals(&quot;-&quot;));
	}
}
</pre>
