#include <stdio.h>

int xor(int a, int b) {
  int i,pow = 0;
  int res = 0;
  int x;
  //printf("xor %d+%d", a, b);

  while(1) {
    if(a%2 != b%2) {
      x = 1;
      for(i=0; i<pow; i++) x *= 2;
      res += x;
    }
    a /= 2;
    b /= 2;
    pow += 1;
    if(a == 0 && b == 0) break;
  }
  //printf("=%d\n", res);
  return res;
}

int last(char *s) {
  int i = 0;
  while(1) {
    if(s[i] == '\0') break;
    i++;
  }
  return i;
}

int powd(int x, int n) {
  int i;
  int res = 1;
  for(i = 0; i < n; i++) res *= x;
  return res;
}

int main() {
   
  int i,j,k,n;
  char str[60];
  scanf("%d", &n);
  int **as = malloc(sizeof(int*) * n);
  
  int strIndex;
  for(i = 0; i < n; i++) {
    as[i] = malloc(sizeof(int) * 7);
    scanf("%s", str);
    printf("%s\n", str);
    strIndex = last(str);
    for(j = 0; j < 7; j++) {
      as[i][j] = 0;
      for(k = 0; k < 9; k++) {
        strIndex -= 1;
        if(strIndex >= 0) as[i][j] += (str[strIndex] - '0')*powd(10,k);
      }
    }
    for(j = 0; j < 7; j++) printf("%d", as[i][6-j]);
    putchar('\n');
  }
  
  int sum[7] = {0};
  for(i = 0; i < n; i++) 
    for(j = i; j < n; j++) 
      for(k = 0; k < 7; k++)
        sum[k] += xor(as[i][k], as[j][k]);
  printf("sum=");
  for(k = 0; k < 7; k++) printf("%d", sum[6-k]);
  putchar('\n');
  
  //printf("%d", sum % 1000000007);
    
  return 0;
}