#include #include using namespace std; vector< int > sol; int tobase( int num, int base ) { int ret = 0, p = 1; for( ; num; num /= 10 ) { ret += (num%10)*p; p *= base; } return ret; } void todec( int num, int base, int m ) { if( !num ) return; if( m == 0 ) { int bla = (num%base+base)%base; sol.push_back( bla ); todec( (num-bla)/base, base, 1 ); } else { int bla = ((base-num%base)+base)%base; sol.push_back( bla ); todec( (num+bla)/base, base, 0 ); } } int main(void) { char buff[100]; int a, b; while( gets( buff ) ) { if( buff[0] == 'e' ) break; if( buff[0] == 't' ) { sscanf( buff, "to-%d %d", &a, &b ); if( b == 0 ) { printf( "0\n" ); continue; } sol.clear(); todec( b, a, 0 ); for( int i = sol.size()-1; i >= 0; --i ) printf( "%d", sol[i] ); printf( "\n" ); } if( buff[0] == 'f' ) { sscanf( buff, "from-%d %d", &a, &b ); if( b == 0 ) printf( "0\n" ); else printf( "%d\n", tobase( b, -a ) ); } } return 0; }