//====================================================================
// One of @C24zhengfujia's program
// Copyright (C) 2024 C24zhengfujia, All rights reserved.

// This file is posted on zxoj.net.

// This code is distributed in the hope that it will be useful,
// but DO NOT COPY ANYTHING; if you've been punished or been 
// kicked out because you copied something. No people but YOU have to handle this issue.
// See zxoj.net or visit Ms He for more details.

/*
 * This is one of @C24zhengfujia's program.
 */

//
// zxoj.net/d/ybtqm/blog/201/6707be64f2e492a8081ed04c#1728560740345  #Complete Conversion System,2024-10-10
//

//Signature:C24zhengfujia
//====================================================================

//====================================================================
// @C24zhengfujia的作品之一
// 版权所有(C)2024 C24zhengfujia,保留所有权利。

// 此文件发布在zxoj.net上。

// 分发此代码是希望它有用,
// 但不要复制任何东西;如果你受到了惩罚或
// 被开除是因为你抄袭了一些东西。除了你,没有人必须处理这个问题。
// 请访问zxoj.net或找何老师以获取更多详细信息。

/*
* 这是@C24zhengfujia的作品之一。
*/

//
// zxoj.net/d/ybtqm/blog/201/6707be64f2e492a8081ed04c#1728560740345 #全套转进制,2024-10-10
//

// 签字:C24zhengfujia
//====================================================================
#include<cstdio>
#include<cmath>
#include<cstring>
int n,m;
char ch[7]="ABCDEF",input[32];//char输出与接收高于10进制的数 
void dec2m(int n,int m)//10进制转m进制 
{
	int x[32],i=0;//int二进制位最多31位,开32个元素的数组,i记录转换后位数 
	if(n<0)//判断负数 
		printf("-");//输出负号 
	n=abs(n);//保证进入转换前的数非负 
	do
	{
		x[i++]=n%m;//取余存入数组 
		n/=m;//除去一位数 
	}
  while(n);//除到0为止
	for(i-=1;i>=0;--i)//倒序输出 
	{
		if(x[i]>=10)//超过10就输出字母 
			printf("%c",ch[x[i]%10]);
		else
			printf("%d",x[i]);//否则按原样输出 
	}
}
int m2dec(char n[],int m)//m进制转10进制(注意返回值为int,只会将结果返回给主函数,不会自己输出)(超过10进制会出现字母,因此用char数组接收) 
{
	bool fu=n[0]=='-';//判断是否负数 
	int x[32],factor=1,sum=0;//转换int二进制位最多31位,开32个元素的数组,factor做累乘器,sum存转换后的数 
	for(int i=strlen(n)-1;i>=0;--i)//倒序转换为int 
	{
		if(n[i]>='A'&&n[i]<='F')//A~F字母转换为10~15 
		{
			x[i]=n[i]-55/*x[i]=n[i]-65+10*/;
		}
		else if(n[i]>='0'&&n[i]<='9')//数字字符转换为相应的int 
		{
			x[i]=n[i]-48;
		}
		else//其他字符看做0 
			x[i]=0;
	}
	for(int i=strlen(n)-1;i>=0;--i)//数学公式计算(sum=第一位*pow(m,0)+第二位*pow(m,1)+...+第n位*pow(m,n-1)) 
	{
		sum+=x[i]*factor;//加乘 
		factor*=m;//累乘 
	}
	if(fu) sum=-sum;//负数则反转 
	return sum;//返回sum 
}
int main()//下面自定 
{
	scanf("%s",input);
	m2dec(input,8);
	return 0;
}