#include <stdio.h>
char num[16]={'0'};
int aa[3];
int answer[5]={0};
void put(void);
void change(void);
int result(int a);
int main(void)
{
scanf("%s", &num);
put();
if(num[0]=='1')//음수일 경우
{
change();
printf("%d", result(1));
}
else//양수일 경우
printf("%d", result(0));
return 0;
}
void put(void)
{
int i;
aa[2]=1;
for(i=1; i>=0; i--)//2의 제곱수 집어넣기
{
aa[i]=aa[i+1]*2;
}
}
void change(void)//1의 보수로 바꾸기
{
int i;
for(i=0; i<16; i++)
{
if(num[i]=='1')
num[i]='0';
else
num[i]='1';
}
}
int result(int a)
{
int i, j, an=0, b=10000;
for(i=0; i<5; i++)//8진수로 변환
{
for(j=(i*3)+1; j<=(i*3)+3; j++)
{
if(num[j]=='1')
answer[i]+=aa[(j-1)%3];
}
an+=answer[i]*b;
b=b/10;
}
if(a==1)//음수일 경우
an=0-(an+1);
return an;
}