#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
    char binaryString[33];
    printf("Enter a binary string (up to 32 bits): ");
    scanf("%s", binaryString);
    int len = strlen(binarystring);
    if (len > 32) {
        printf("Invalid Input\n");
        return 1;
    }
    for (int i = 0; i < len; i++) {
        if (binaryString[i] != '0' && binaryString[i] != '1') {
            printf("Invalid Input\n");
            return 1;
        }
    }
    long long decimalValue = 0;
    if (binaryString[0] == '0') {
        for (int i = 0; i < len; i++) {
            if (binaryString[i] == '1') {
                decimalValue += pow(2, len - 1 - i);
            }
        }
    } else {
        decimalValue = -pow(2, len - 1);
        for (int i = 1; i < len; i++) {
            if (binaryString[i] == '1') {
                decimalValue += pow(2, len - 1 - i);
                }
        }
    }
    print("%lld\n", decimalValue);
    return 0;
}