#include #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; int main() { int H,W,K; cin>>H>>W>>K; vectorS(H+2); S[0]=S[H+1]=string(W+2,'#'); rep(i,H)cin>>S[i+1],S[i+1]='#'+S[i+1]+'#'; cin>>K; rep(i,H)rep(j,W)if(S[i+1][j+1]!='#') if((S[i][j+1]=='#'&&S[i+2][j+1]!='#') || (S[i+1][j]=='#'&&S[i+1][j+2]!='#')) { string R,C; cin>>R>>C; int di=0,dj=0; if(R!="-") { for(char c:R) { if(S[i+1][j+1+dj]!='.'&&S[i+1][j+1+dj]!=c){cout<<"No\n";return 0;} S[i+1][j+1+dj]=c; dj++; } if(S[i+1][j+1+dj]!='#'){cout<<"No\n";return 0;} } if(C!="-") { for(char c:C) { if(S[i+1+di][j+1]!='.'&&S[i+1+di][j+1]!=c){cout<<"No\n";return 0;} S[i+1+di][j+1]=c; di++; } if(S[i+1+di][j+1]!='#'){cout<<"No\n";return 0;} } } cout<<"Yes\n"; }