#include <bits/stdc++.h>
#define mp make_pair
#define pb push_back
#define ph push
#define ptc putchar
#define enter putchar('\n')
#define debug(x) cerr << #x << " = " << x << endl
#define fir first
#define sec second
#define mod 998244353
using namespace std;
typedef pair<int, int> pii;
typedef pair<long, long> pll;
typedef pair<double,double> pdd;
typedef double db;
typedef long double ldb;
typedef long long ll;
typedef long long lnt;
const int N = 1e6 + 10;
inline int read() {
int x = 0 , fl = 0;
char c = getchar();
while (!isdigit(c))
fl |= c == '-' , c = getchar();
while (isdigit(c))
x = (x << 1) + (x << 3) + c - '0', c = getchar();
return fl ? -x : x;
}
inline void write(int x) {
if (!x) {
ptc('0');
return;
}
if (x < 0) ptc('-') , x = -x;
int dg[20], len = 0;
while (x)
dg[len++] = x % 10, x /= 10;
while (len--)
ptc(dg[len] + '0');
}
inline void writeln(int x) {
write(x);
ptc('\n');
}
inline int add(int x, int y, int p = mod) {
x += y;
if (x >= p)
x -= p;
return x;
}
inline int sub(int x, int y, int p = mod) {
x -= y;
if (x < 0)
x += p;
return x;
}
inline int qpow(int x, int y, int p = mod) {
int res = 1;
while (y) {
if (y & 1)
res = 1ll * res * x % p;
x = 1ll * x * x % p;
y >>= 1;
}
return res;
}
int n;
string s;
map <char,ll> values,exceed;
ll ieto(string s,int st){
ll ans = 0;
for (int i = st;i < s.length() && isdigit(s[i]);i++){
ans = ans * 10ll + s[i]-'0';
}
return ans;
}
void solve_basic(string s){
char left_char = s[0];
int oper = (s[1] == '+') ;
ll right_char = 0;
if (isdigit(s[2 + oper])){
right_char = ieto(s , 2 + oper);
}else{
right_char = values[s[2 + oper]];
}
values[left_char] = values[left_char] * oper + right_char;
if (oper == 0){
if (isdigit(s[2 + oper])){
exceed[left_char] = (values[left_char] >= 1e9);
}else{
exceed[left_char] = exceed[s[2 + oper]];
}
}
else{
if (values[left_char] >= 1e9 || exceed[left_char]){
exceed[left_char] = 1;
}else{
if (!isdigit(s[2 + oper])){
exceed[left_char] = exceed[s[2 + oper]];
}else{
exceed[left_char] = 0;
}
}
}
values[left_char] %= 1000000000ll;
}
vector<string> stav;
void dfs(int x){
if (x == stav.size() - 1){
solve_basic(stav[x]);
return;
}else{
string s = stav[x];
ll& i = values[s[4]];
ll L , R , t = 6;while (s[t] != ',') t++;
int flag = 0;
if (isdigit(s[6])){
L = ieto(s , 6);
}else{
L = values[s[6]];
flag |= exceed[s[6]];
}
if (isdigit(s[t + 1])){
R = ieto(s , t + 1);
}else{
R = values[s[t + 1]];
flag |= exceed[s[t + 1]];
}
exceed[s[4]] = flag;
i = L;
while (i <= R){
dfs(x + 1);
if (i + 1 > R) break;
else i += 1;
}
}
}
void print(char s){
if (exceed[s])){
printf("%c=...%09lld\n",s,values[s]%1000000000ll);
}else{
printf("%c=%lld\n",s,values[s]);
}
}
int main(){
for (char i = 'A';i <= 'Z';i++){
values[i] = 0;
exceed[i] = 0;
}
// int g = 5;
while (getline(cin , s)){
// cout<<s;
// g--;if (g==0){cout<<endl;g=5;}
if (s[0] != 'f'){ // not for
solve_basic(s);
}else{
stav.clear();
for (int i = 0;i < s.length();i++){
if (s[i] == 'f'){
int j = i;
while (s[j] != ')') j++;
stav.push_back(s.substr(i , j - i + 1));
i = j;
}else{
stav.push_back(s.substr(i , s.length() - i));
break;
}
}
// for (string ss: stav) cout<<ss<<endl;
dfs(0);
}
}
for (char i = 'A';i <= 'Z';i++){
if (values[i] || exceed[i]){
print(i);
}
}
return 0;
}