#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int r=10;//初始为十进制
ll num=0;//结果的初始值为0
ll get10()
{
string s;
cin>>s;
ll at=0,t=1;;
for(int i=s.size()-1;i>=0;i--)
{
//cout<<"s[i]="<<s[i]<<endl;
if(s[i]>='A'&&s[i]<='Z')
{
at+=(s[i]-'A'+10)*t;
t*=r;
}
else
{
at+=(s[i]-'0')*t;
t*=r;
}
}
//cout<<"r="<<r<<endl;
//cout<<"at="<<at<<endl;
return at;
}
void print(ll num)
{
string s="";
char a;
ll val;
if(num==0)
s="0";
while(num>0)
{
val=num%r;
if(val>=10)
{
a='A'+(val-10);
}
else
{
a=val+'0';
}
s+=a;
num/=r;
}
//cout<<s<<endl;
reverse(s.begin(),s.end());
cout<<s<<endl;
}
int main()
{
int n;
cin>>n;
int ope;
for(int i=0;i<n;i++)
{
string s;
cin>>s;
if(s=="CLEAR")
{
num=0;
ope=0;
}
else if(s=="ADD")
{
ope=1;
}
else if(s=="SUB")
{
ope=2;
}
else if(s=="MUL")
{
ope=3;
}
else if(s=="DIV")
{
ope=4;
}else if(s=="MOD")
{
ope=5;
}
else if(s=="CHANGE")
{
cin>>r;
}
else if(s=="NUM")
{
switch(ope){
case 0:num=get10();break;
case 1:num+=get10();break;
case 2:num-=get10();break;
case 3:num*=get10();break;
case 4:num/=get10();break;
case 5:num%=get10();break;
default:break;
}
}
else if(s=="EQUAL")
{
print(num);
}
}
return 0;
}