#include<stdio.h>
#include<string.h>
int main()
{
    char b[40];
    if(scanf("%s", b)!=1)
    {
        printf("Invalid Input");
        return 0;
    }
    int len = strlen(b);
    if(len==0|| len >32)
    {
        printf("Invalid Input");
        return 0;
    }
    for (int i=0;i<len ;i++)
    {
        if(b[i]!='0' && b[i]!='1')
        {
            printf("Invalid Input");
            return 0;
        }
    }
    long long value =0;
    if(b[0]==0)
    {
        for (int i= 0;i<len ; i++)
        value =value*2+(b[i]-'0');
        
    }
    else
    {
        long long unsignedVal=0;
        for (int i=0 ; i<len ;i++)
        unsignedVal=unsignedValue*2+(b[i]-'0');
        long long twoComp =(1ll << len);
        value=unsignedValue-twoComp;
    }
    printf("%lld",value);
    return 0;
}
    }