#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
    char binary[33];
    scanf("%s",binary);
    int 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'){
        int result=0;
        for(int i=0;i<length;i++){
            result=result*2+(binary[i]-'0');
        }
        printf("%d\n",result);
    }
    else{
        unsigned int result=0;
        for(int i=0;i<length;i++){
            result=result*2 +(binary[i]-'0');
        }
        int signedResult=result-(1U << len);
        printf("%d\n",signedResult);
    }
    return 0;
}