int main(){
    unsigned long long int n;
    for(n = 0; n < 10; n++) digito[n] = n + '0';
    for(; n < 32; n++) digito[n] = n - 10 + 'A';
 
    while(scanf(" %llu", &n) == 1 && n){
        base32(n);
        printf("\n");
    }
    printf("0\n");
 
    return 0;
}
int main () {

    unsigned long long int N;

    while (scanf("%llu", &N), N != 0) {

            base32(N);
            printf("\n");


    }
    printf("0\n");

    return 0;
}
void base32(unsigned long long int decimal) {

    unsigned long long int quociente, resto;

   if (decimal) {

      quociente = decimal/32;

      resto = decimal%32;

      base32(quociente);

      switch (resto) {

         case 10: putchar('A'); break;
         case 11: putchar('B'); break;
         case 12: putchar('C'); break;
         case 13: putchar('D'); break;
         case 14: putchar('E'); break;
         case 15: putchar('F'); break;
         case 16: putchar('G'); break;
         case 17: putchar('H'); break;
         case 18: putchar('I'); break;
         case 19: putchar('J'); break;
         case 20: putchar('K'); break;
         case 21: putchar('L'); break;
         case 22: putchar('M'); break;
         case 23: putchar('N'); break;
         case 24: putchar('O'); break;
         case 25: putchar('P'); break;
         case 26: putchar('Q'); break;
         case 27: putchar('R'); break;
         case 28: putchar('S'); break;
         case 29: putchar('T'); break;
         case 30: putchar('U'); break;
         case 31: putchar('V'); break;

         default: printf("%llu", resto);

      }
   }

}
void base32(unsigned long long int n){
    if(n){
        base32(n / 32);
        printf("%c", digito[n % 32]);
    }
}