#include #include using namespace std; #define N 1009 char A[2][N][N]; char B[N][N]; void rotate(int k, int n) { int x = k&1; int y = !x; for (int r = 0; r < n; ++r) for (int c = 0; c < n; ++c) A[y][r][c] = A[x][n - c - 1][r]; //for (int i = 0; i < n; ++i) { // for (int j = 0; j < n; ++j) // printf("%c", A[y][i][j]); // printf("\n"); //} } int main() { int n; while(1) { scanf("%d", &n); if (n == 0) break; for (int i = 0; i < n; ++i) scanf("%s", A[0][i]); for (int i = 0; i < n; ++i) scanf("%s", B[i]); for (int k = 0; k < 4; ++k) { for (int r = 0; r < n; ++r) { for (int c = 0; c < n; ++c) { if (A[k&1][r][c] == '0') printf("%c", B[r][c]); } } if (k != 3) rotate(k, n); } printf("\n"); } return 0; }