#include <stdio.h>
#define N 12
const char *n[N] = {
"1001",
"0100",
"0100",
"1111",
"0101",
"1000",
"0100",
"0101",
"0100",
"1011",
"1010",
"1111"
};
unsigned tra(const char *s){//binary string to unsigned
unsigned x = 0;
while(*s){
x <<= 1;
if(*s == '1')
x |= 1;
s++;
}
return x;
}
void get(unsigned *v,const char **n,int k){
while(k-->0)
v[k] = tra(n[k]);
}
unsigned add(unsigned *v,int n){
unsigned sum = 0;
while(n-->0)
sum += v[n];
return sum;
}
int main(void){
unsigned v[N];
get(v,n,N);
printf("sum= %x\n",add(v,N-1));
return 0;
}