// MAXPLUS - Djerek
// Dobro rjesenje
// Brute force-a stupac po stupac u O(400^3) vremenu.

#include <cstdio>
#include <algorithm>

using namespace std;

int A[3][3];
int B[3][3];
int C[3][3];

inline int check_col(int k) {
  for (int i=0; i<3; i++)
    if (max(A[i][0]+B[0][k], max(A[i][1]+B[1][k], A[i][2]+B[2][k])) != C[i][k])
      return 0;
  return 1;
}

int brute_force(int k) {
  for (B[0][k] = -202; B[0][k] <= 202; B[0][k]++)
    for (B[1][k] = -202; B[1][k] <= 202; B[1][k]++)
      for (B[2][k] = -202; B[2][k] <= 202; B[2][k]++)
        if (check_col(k))
          return 1;
  return 0;
}

int main() {
  for (int i=0; i<3; i++)
    for (int j=0; j<3; j++)
      scanf("%d", &A[i][j]);

  for (int i=0; i<3; i++)
    for (int j=0; j<3; j++)
      scanf("%d", &C[i][j]);

  for (int i=0; i<3; i++)
    if (!brute_force(i)) {
      printf("nemoguce\n");
      return 0;
    }

  for (int i=0; i<3; i++, printf("\n"))
    for (int j=0; j<3; j++) {
      if (j > 0)
        printf(" ");
      printf("%d", B[i][j]);
    }

  return 0;
}
