/**
grids???????
http://programming.grids.cn/programming/problem/24947e911f454e43abea1300d470e3c4/show.do
-----------------------------
??
?????????????????2???36?????????long??????????
???????????0?1?...?9?a?b?...?z????0?1?...?9?A?B?...?Z??
-----------------------------
????
?????????????a?n?b?a?????n ?a?????b????a????n???b?????
a?b???????2 ? a?b < 36?
-----------------------------
????
???????????????????b?????????????????????0?1?...?9?A?B?...?Z??
-----------------------------
????
15 Aab3 7
-----------------------------
????
210306
-----------------------------
??
???????????????
-----------------------------

???
2010.10.22
*/


/**
?originBase?number???10?? 
*/
int change2Dec(char * number, int len_number, int originBase) {

	int result = 0;
	//for?? 
	for (int i=0; i<len_number; i++) {
		//???????10????????
		int numberBit = 0;
		if (number[i]>='0' && number[i]<='9') {
			numberBit = number[i]-'0';
		}
		else if (number[i]>='a' && number[i]<='z') {
			numberBit = number[i]-'a'+10;
		}
		else {
			numberBit = number[i]-'A'+10;
		}

		//???????????
		int position = len_number-i;

		//???????????? 
		int currentBitValue = numberBit;
		for (int j=1; j<position; j++) {
			currentBitValue *= originBase;
		}
		result += currentBitValue;
	}
	return result;       
} 

/**
?10??decNumber???newBase??????newNumber???????????? 
*/
int changeDec2NewBase(int decNumber, int newBase, char * newNumber) {
	
	int bitValue[100];                     //??????????????????? 
	int length=0;                          //??????? 
	while (decNumber/newBase > 0) {
		bitValue[length++] = decNumber%newBase;         //??
		decNumber /= newBase;
	}
	bitValue[length++] = decNumber;                     //??????

	//????bitValue????????newNumber
	for (int i=length-1,j=0; i>=0; i--,j++) {
		int currentBit = bitValue[i];
		if (currentBit < 10)
			newNumber[j]=currentBit+'0';
		else
			newNumber[j]=currentBit+'A'-10;
	}
	return length;
}

int main()
{
	int originBase;         //????
	int newBase;            //???
	char number[100];       //????????
	char newNumber[100];    //?????? 
	cin >> originBase >> number >> newBase;

	int len_number = strlen(number);  //????????
	int len_newNumber;                //????????

	int decNumber = change2Dec(number, len_number, originBase);       //?originBase????number???int??decNumber
	len_newNumber = changeDec2NewBase(decNumber, newBase, newNumber); //?int?decNumber???newBase???????newNumber????
	newNumber[len_newNumber] = NULL;
	cout << newNumber << endl;

	return 0;
}


