#include <iostream>
#include <string>
#include <cstdio>
#include <list>
#include <sstream>
#include <deque>
#include <cmath>

int compute(std::string line)
{
	std::deque<int> stack;
	std::stringstream lineStream(line);

	char lastOp = 0;

	char op;
	int value;
	lineStream >> value;
	stack.push_back(value);
	while (lineStream >> op)
	{
		lineStream >> value;
		if (op == '*')
		{
			int val2 = stack.back();
			stack.pop_back();
			stack.push_back(value * val2);
		}
		else
		{
			if (lastOp != 0)
			{
				int val1 = stack.back();
				stack.pop_back();
				int val2 = stack.back();
				stack.pop_back();
				if (lastOp == '+')
				{
					stack.push_back(val2 + val1);
				}
				else
				{
					stack.push_back(val2 - val1);
				}
			}

			stack.push_back(value);
			lastOp = op;
		}
	}

	if (lastOp != 0)
	{
		int val1 = stack.back();
		stack.pop_back();
		int val2 = stack.back();
		stack.pop_back();
		if (lastOp == '+')
			return val2 + val1;
		else
			return val2 - val1;
	}

	return stack.back();
}

int main()
{
	std::ios::sync_with_stdio(false);

	std::string line;
	int R, C;
	while (scanf("%d %d", &R, &C) == 2)
	{
		if (R == 0)
			break;
		std::string line1;
		std::string line2;
		std::string line3;
		std::getline(std::cin, line1);
		if (R > 1)
		{
			std::getline(std::cin, line2);


			int i;
			while ((i = line2.find('\\')) >= 0)
			{
				int j = i + 3;
				const char* charLine1 = line1.c_str();
				while (charLine1[j] == '_')
					j++;
	
				std::string a = line2.substr(i + 2, j - i - 2);
				std::string value = std::to_string((int)(sqrt(compute(a))));

				line2 = line2.replace(i, j - i, j - i, ' ');
				line2 = line2.replace(i, value.length(), value);
			}
		}
		if (R > 2)
		{
			std::getline(std::cin, line3);
			

			int i;
			while ((i = line2.find('=')) >= 0)
			{
				int j = i + 1;
				const char* charLine2 = line2.c_str();
				while (charLine2[j] == '=')
					j++;

				std::string up = line1.substr(i, j - i);
				std::string down = line3.substr(i, j - i);
				std::string value = std::to_string(compute(up) / compute(down));

				line2 = line2.replace(i, j - i, j - i, ' ');
				line2 = line2.replace(i, value.length(), value);
			}
		}
		if (R == 1)
			line2 = line1;
		std::cout << compute(line2) << std::endl;
	}

	return 0;
}