#include<stdio.h>
#include<string.h>
int main () {
    char bin[40];
    scanf("%s",bin);
    int len = strlen(bin);
    for (int i = 0; i < len; i++){
        if (bin[i] != '0' && bin[i] != '1'){
            printf("Invalid Input");
            return 0;
        }
    }
            int isNegative = (bin[0] == '1');
            long value = 0;
            if (!isNegative){
                for (int i = 0; i < len; i++){
                    value = value * 2 + (bin[i] - '0');
                }
            }
            else{
                char inv[40];
                for(int i =0; i <len; i++){
                    inv[i] = (bin[i] == '0') ? '1': '0';
                }
                int carry = 1;
                for (int i = len - 1; i>=0; i--){
                    int bit = (inv[i] = '0') + carry;
                    inv[i] = (bit % 2) + '0';
                    carry = bit / 2;
                }
                for (int i = 0; i < len; i++){
                    value = value * 2 + (inv[i] - '0');
                }
                value = -value;
            printf("%ld",value);
        return 0;