//{{{ #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(I,A,B) for(int I=(A);I<(B);I++) #define FORD(I,A,B) for(int I=(A);I>=(B);I--) #define REP(I,N) for(int I=0;i<(N);i++) #define VAR(V,init) __typeof(init) V=(init) #define FOREACH(I,C) for(VAR(I,(C).begin());I!=(C).end();I++) #define CLR(A,v) memset((A),v,sizeof((A))) #define ALL(X) (X).begin(), (X).end() #define PB push_back #define MP make_pair #define FI first #define SE second //}}} bool cyfra(char c) {return (c>='0' && c<='9'); } int getR(char t[]){ int p=0,a=0; while(!cyfra(t[p]))++p; while(cyfra(t[p])){ a=10*a+(t[p]-48); ++p; } return a; } int R,a,p,pt,x; char s[200],l[200]; int main() { scanf("%s",s); while(s[0]!='e'){ if(s[0]=='f'){ scanf("%s",l); R=-getR(s); pt=1; a=0; for(p=strlen(l)-1;p>=0;--p){ a=a+(l[p]-48)*pt; pt=pt*R; } printf("%d\n",a); } else { scanf("%d",&a); R=-getR(s); pt=1; p=0; while(a!=0){ x=0; while( (a-x*pt)% (abs(pt*R)) !=0) ++x; l[p++]=(48+x); a=a-pt*x; pt=pt*R; } if(p>0) FORD(k,p-1,0)printf("%c",l[k]); else printf("0"); printf("\n"); } // printf("%d\n",R); scanf("%s",s); } return 0; }