#include #include #include #include using namespace std; int main() { for (;;) { char s[128]; char out[128]; int c = 0; int n; scanf("%s %d", s, &n); int j=0; while (isalpha(s[j])) j++; int b; sscanf(s+j, "%d", &b); s[j] = 0; //puts(b); //printf("[%s] %d %d\n", s, b, n); if (strcmp("end", s)==0) break; if (n==0) { puts("0"); continue; } if (strcmp("to", s)==0) { static int licz[10][64],max[10][64]; int pozycja = -b; int liczba = 1; for(int i=0;i<40;i++){ for(int j=1;j0)maxl = 2000000000; if(n<0)maxl = -2000000000; for(int i=0;i<40;i++){ for(int j=0;j0){ if(n <= max[j][i] && max[j][i] < maxl){ maxl = max[j][i]; maxj = j; maxi = i; } } else { if(n >= max[j][i] && max[j][i] > maxl){ maxl = max[j][i]; maxj = j; maxi = i; } } //printf("%d ",maxl); } } n -= licz[maxj][maxi]; h[maxi] = maxj; // for(int v=0;v // printf("%d %d %d\n",n,maxi,maxj); } int q = 50-1; while (h[q]==0) q--; while (q>=0) printf("%d", h[q--]); puts(""); } if(strcmp("from", s) == 0) { int k = 0; int i = 1; while(n){ int z = n % 10; k += z * i; i *= b; n /= 10; } printf("%d\n",k); } } return 0; }