#include <iostream> #include <string> #include <cmath> #include <vector> using namespace std; int main() { int n, ceng, k; while (cin >> n) { // 注意 while 处理多个 case if (n == 0)break; vector <string> inarray(n); getline(cin, inarray[0]); for (int i = 0; i < n; i++) getline(cin, inarray[i]); cin >> ceng; k = pow(n, ceng); char outarray[k][k]; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) outarray[i][j] = (j < inarray[i].length()) ? inarray[i][j] : ' '; for (int i = 1; i < ceng ; i++) { for (int x = 0; x < n; x++) for (int y = 0; y < n; y++) for (int p = 0; p < pow(n, i ); p++) for (int q = 0; q < pow(n, i ); q++) { int u = p + x * pow(n, i ); int v = q + y * pow(n, i ); if (x > 0 || y > 0) outarray[u][v] = (inarray[x][y] != ' ') ? outarray[p][q] : ' '; } if (inarray[0][0] == ' ') for (int p = 0; p < pow(n, i); p++) for (int q = 0; q < pow(n, i ); q++) outarray[p][q] = ' '; } for (int i = 0; i < k; i++) { for (int j = 0; j < k; j++) { cout << outarray[i][j]; } cout << endl; } } } // 64 位输出请用 printf("%lld")