#include<stdio.h>
#include<math.h>
#include<string.h>
char a[30][30];
char v[3005][3005];
int n;
void dfs(int k,int x,int y)
{
int tmp,i,j,tot,l;
if(k==1)
{
for(i=x;i<x+n;i++)
for(j=y;j<y+n;j++)
v[i][j]=a[i-x][j-y];
return;
}
tot=1;l=1;
for(i=1;i<k-1;i++)
l*=n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i][j]!=' ')
dfs(k-1,x+l*n*i,y+l*n*j);
}
int main()
{
int l,i,j,k;
while(scanf("%d",&n),n)
{
getchar();
for(i=0;i<n;i++)
gets(a[i]);
memset(v,' ',sizeof(v));
scanf("%d",&k);
l=1;
for(i=1;i<=k;i++)
l*=n;
dfs(k,0,0);
for(i=0;i<l;i++)
{
v[i][l]='\0';
puts(v[i]);
}
}
return 0;
}