#include<iostream>
#include<string>
#include<map>



int main() {
    int x, ans, unk;
    char sign;
    std::string s, cmnd;
    std::map<std::string, int> namtonum;
    std::map<int, std::string> numtonam;
    while(std::cin>>cmnd){
        if(cmnd == "def"){
            s.clear();
            std::cin>>s>>x;
            if(namtonum.count(s))namtonum.erase(s); /*если слово уже определено - удаляем его*/
            if(numtonam.count(x))numtonam.erase(x); /*аналогично поступаем с числом*/
            namtonum[s] = x; numtonam[x] = s;
        }
        else if(cmnd == "calc"){
            ans = 0; unk = 0; sign = '+'; /*в ans будем записывать значение выражения.*/
            while(sign != '='){
                s.clear(); 
                std::cin>>s;
                while(s == "+" || s == "-"){/*костыль на случай если первым идёт + или -*/
                    if(s == "+")std::cin>>s;
                    if(s == "-"){sign = '-'; std::cout<<s; std::cin>>s;}
                }
                if(namtonum.count(s)){
                    if(sign == '-')ans -= namtonum[s];
                    else ans += namtonum[s];
                }
                else unk = 1; /*если unk == 1 то на выходе "unknown"*/
                std::cin>>sign;
                std::cout<<s<<" "<<sign<<' ';
            }
            if(numtonam.count(ans) && unk == 0)
                std::cout<<numtonam[ans]<<'\n';
            else printf("unknown\n");
        }
        else if(cmnd == "clear"){namtonum.clear(); numtonam.clear();}
        cmnd.clear();
    }
}