char* uitoa ( unsigned number, char* buf, int base )
{
char digits[] = "0123456789ABCDEFGHIJLKMNOPQRSTUVWXYZ";
char stack [ 256 ];
int i = 0, j = 0;
while ( number )
stack [ i++ ] = digits [ number % base ], number /= base;
buf [ i ] = 0;
while ( i > 0 )
buf [ j++ ] = stack [ --i ];
return buf;
}
int main ( void )
{
char buf [ 256 ];
int base, number;
if ( 1 == scanf ( "%d", &number
)) for ( base = 2; base < 37; base++ )
printf ( "%s(%u)\n", uitoa
( number
, buf
, base
), base
); return 0;
}
Y2hhciogdWl0b2EgKCB1bnNpZ25lZCBudW1iZXIsIGNoYXIqIGJ1ZiwgaW50IGJhc2UgKQp7CiAgICBjaGFyIGRpZ2l0c1tdID0gIjAxMjM0NTY3ODlBQkNERUZHSElKTEtNTk9QUVJTVFVWV1hZWiI7CiAgICBjaGFyIHN0YWNrIFsgMjU2IF07CiAgICBpbnQgaSA9IDAsIGogPSAwOwogICAgd2hpbGUgKCBudW1iZXIgKQogICAgICAgIHN0YWNrIFsgaSsrIF0gPSBkaWdpdHMgWyBudW1iZXIgJSBiYXNlIF0sIG51bWJlciAvPSBiYXNlOwogICAgYnVmIFsgaSBdID0gMDsKICAgIHdoaWxlICggaSA+IDAgKQogICAgICAgIGJ1ZiBbIGorKyBdID0gc3RhY2sgWyAtLWkgXTsKICAgIHJldHVybiBidWY7Cn0KIAppbnQgbWFpbiAoIHZvaWQgKQp7CiAgICBjaGFyIGJ1ZiBbIDI1NiBdOwogICAgaW50IGJhc2UsIG51bWJlcjsKICAgIGlmICggMSA9PSBzY2FuZiAoICIlZCIsICZudW1iZXIgKSkKICAgICAgICBmb3IgKCBiYXNlID0gMjsgYmFzZSA8IDM3OyBiYXNlKysgKQogICAgICAgICAgICBwcmludGYgKCAiJXMoJXUpXG4iLCB1aXRvYSAoIG51bWJlciwgYnVmLCBiYXNlICksIGJhc2UgKTsKICAgIHJldHVybiAwOwp9