#include #include #include using namespace std; int N, M, H, rez, Lin[1002], Col[1002]; char Map_Up[1002][1002], Map_Xorin[1002][1002], Map_Xorina[1002][1002]; int main() { #ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); #endif // ONLINE_JUDGE cin >> N >> M >> H; for(int i = 1; i <= N; ++i) { cin >> (Map_Up[i] + 1); } for(int i = 1; i <= H; ++i) { cin >> (Map_Xorin[i] + 1); } for(int i = 1; i <= H; ++i) { cin >> (Map_Xorina[i] + 1); } for(int i = M; i >= 1; --i) { int j = H; while(Map_Xorin[j][M - i + 1] == '#') { --j; } ++j; rez = H - j + 1; Col[M - i + 1] = rez; } for(int i = N; i >= 1; --i) { int j = H; while(Map_Xorina[j][N - i + 1] == '#') { --j; } ++j; rez = H - j + 1; Lin[i] = rez; } for(int i = 1; i <= N; ++i) { for(int j = 1; j <= M; ++j) { if(Lin[i] == 0 || Col[j] == 0 || Map_Up[i][j] == '.') { cout << '.'; } else { cout << min(Lin[i], Col[j]); } } cout << '\n'; } return 0; }