#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
    char binary[33];
    int lenght;
    long long decimal=0;
    if (scanf("%32s",binary)!=1)
    {
        printf("Invalid Input");
        return 0;
    }
    length =strlen(binary);
    
    for (int i =0;i<length;i++)
    {
        if (binary[i]!='0'&& binary[i]!='1')
        {
            printf("Invalid input");
            return 0;
        }
    }
    if (binary[0]=='0')
    {
        
        for (int i=0;i<length;i++)
        {
            if (binary[i]!='1') decimal +=(1LL << (length-i-1));
        }
    }else
    {
        for(int i =0;i<length;i++)
        {
        
            if(binary[i]=='0')decimal +=(1LL <<(length -i-1));
        }
                decimal =-((1LL << length)-decimal);
    }
            print("%lld",decimal);
            return 0;
            
}