#include<stdio.h>
#include<string.h>
#include<stdlib.h>
long long binaryToSignedDecimal( char* binaryString){
    
}
long long binaryToSignedDecimal( char* binaryString){
    int length = strlen(binaryString);
    if (length == 0 || length > 32){
        printf("Invalid Input\n");
        return -1;
    }
    for (int i = 0; i < length; i++){
        if (binaryString[i] != '0' && binaryString[i] != '1'){
            printf("Invalid Input\n");
            return -1;
        }
    }
    long long binaryToSignedDecimal(char* binaryString){
        if (binaryString[0] == '0'){
            return strtoll(binaryString, NULL, 2);
        }
    }
    long long binaryToSignedDecimal(char* binaryString){
        long long decimalValue = 0;
        int length = strlen(binaryString);
        char invertedBinaryString[33];
        for (int i = 0; i < length; i++){
            invertedBinarystring[i] = (binaryString[i] == '0' ? '1' : '0');
        }
        invertedBinaryString[length] = '\0';
        decimalValue = strtoll(invertedBinaryString, NULL, 2) + 1;
        return -decimalValue;
    }
    int main(){
        char binaryInput1[] = "00000001";
        char binaryInput2[] = "11111111";
        char binaryInput3[] = "10000000";
        char binaryInput4[] = "01111111";
        char binaryInput5[] = "1010";
        char binaryInput6[] = "1020";
        
        printf("Sample Input 1 : %s\n", binaryInput1);
        printf("Sample Output 2 : %11d\n\n", binaryToSignedDecimal(binaryInput1));
        
        printf("Sample Input 2 : %s\n", binaryInput2);
        printf("Sample Output 2 : %11d\n\n", binaryToSignedDecimal(binaryInput2));
        
        printf("Sample Input 3 : %s\n", binaryInput3);
        printf("Sample Output 3 : %11d\n\n", binaryToSignedDecimal(binaryInput3));
        
        printf("Sample Input 4 : %s\n", binaryInput4);
        printf("Sample Output 4 : %11d\n\n", binaryToSignedDecimal(binaryInput4));
        
        printf("Sample Input 5 : %s\n", binaryInput5);
        printf("Sample Output 5 : %11d\n\n", binaryToSignedDecimal(binaryInput5));
        
        printf("Sample Input 6 : %s\n", binaryInput6);
        binaryToSignedDecimal(binaryInput6));
        return 0;
}