#include <iostream>
#include <vector>
#include <queue>
#include <set>
using namespace std;
int h, w, q;
vector<string> grid;
// Arah gerakan: atas, bawah, kiri, kanan
int dx[] = {-1, 1, 0, 0};
int dy[] = {0, 0, -1, 1};
bool bfs(int sx, int sy, int ex, int ey, set<pair<int, int>>& blocked) {
queue<pair<int, int>> q;
set<pair<int, int>> visited;
q.push({sx, sy});
visited.insert({sx, sy});
while (!q.empty()) {
auto [x, y] = q.front(); q.pop();
if (x == ex && y == ey) return true;
for (int i = 0; i < 4; ++i) {
int nx = x + dx[i], ny = y + dy[i];
if (nx >= 0 && nx < h && ny >= 0 && ny < w && grid[nx][ny] == '.' && !blocked.count({nx, ny}) && !visited.count({nx, ny})) {
visited.insert({nx, ny});
q.push({nx, ny});
}
}
}
return false;
}
bool isInteresting(set<pair<int, int>>& blocked) {
queue<pair<int, int>> q;
set<pair<int, int>> visited;
q.push({0, 0});
visited.insert({0, 0});
while (!q.empty()) {
auto [x, y] = q.front(); q.pop();
if (x == h - 1 && y == w - 1) {
return bfs(h - 1, w - 1, 0, 0, blocked);
}
for (int i = 0; i < 4; ++i) {
int nx = x + dx[i], ny = y + dy[i];
if (nx >= 0 && nx < h && ny >= 0 && ny < w && grid[nx][ny] == '.' && !blocked.count({nx, ny}) && !visited.count({nx, ny})) {
visited.insert({nx, ny});
q.push({nx, ny});
}
}
}
return false;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> h >> w >> q;
grid.resize(h);
for (int i = 0; i < h; ++i) {
cin >> grid[i];
}
while (q--) {
int k;
cin >> k;
set<pair<int, int>> blocked;
for (int i = 0; i < k; ++i) {
int r, c;
cin >> r >> c;
blocked.insert({r - 1, c - 1});
}
cout << (isInteresting(blocked) ? "YES\n" : "NO\n");
cout.flush(); // Flush output as required
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxzZXQ+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGgsIHcsIHE7CnZlY3RvcjxzdHJpbmc+IGdyaWQ7CgovLyBBcmFoIGdlcmFrYW46IGF0YXMsIGJhd2FoLCBraXJpLCBrYW5hbgppbnQgZHhbXSA9IHstMSwgMSwgMCwgMH07CmludCBkeVtdID0gezAsIDAsIC0xLCAxfTsKCmJvb2wgYmZzKGludCBzeCwgaW50IHN5LCBpbnQgZXgsIGludCBleSwgc2V0PHBhaXI8aW50LCBpbnQ+PiYgYmxvY2tlZCkgewogICAgcXVldWU8cGFpcjxpbnQsIGludD4+IHE7CiAgICBzZXQ8cGFpcjxpbnQsIGludD4+IHZpc2l0ZWQ7CiAgICBxLnB1c2goe3N4LCBzeX0pOwogICAgdmlzaXRlZC5pbnNlcnQoe3N4LCBzeX0pOwogICAgCiAgICB3aGlsZSAoIXEuZW1wdHkoKSkgewogICAgICAgIGF1dG8gW3gsIHldID0gcS5mcm9udCgpOyBxLnBvcCgpOwogICAgICAgIAogICAgICAgIGlmICh4ID09IGV4ICYmIHkgPT0gZXkpIHJldHVybiB0cnVlOwogICAgICAgIAogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNDsgKytpKSB7CiAgICAgICAgICAgIGludCBueCA9IHggKyBkeFtpXSwgbnkgPSB5ICsgZHlbaV07CiAgICAgICAgICAgIGlmIChueCA+PSAwICYmIG54IDwgaCAmJiBueSA+PSAwICYmIG55IDwgdyAmJiBncmlkW254XVtueV0gPT0gJy4nICYmICFibG9ja2VkLmNvdW50KHtueCwgbnl9KSAmJiAhdmlzaXRlZC5jb3VudCh7bngsIG55fSkpIHsKICAgICAgICAgICAgICAgIHZpc2l0ZWQuaW5zZXJ0KHtueCwgbnl9KTsKICAgICAgICAgICAgICAgIHEucHVzaCh7bngsIG55fSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmJvb2wgaXNJbnRlcmVzdGluZyhzZXQ8cGFpcjxpbnQsIGludD4+JiBibG9ja2VkKSB7CiAgICBxdWV1ZTxwYWlyPGludCwgaW50Pj4gcTsKICAgIHNldDxwYWlyPGludCwgaW50Pj4gdmlzaXRlZDsKICAgIHEucHVzaCh7MCwgMH0pOwogICAgdmlzaXRlZC5pbnNlcnQoezAsIDB9KTsKICAgIAogICAgd2hpbGUgKCFxLmVtcHR5KCkpIHsKICAgICAgICBhdXRvIFt4LCB5XSA9IHEuZnJvbnQoKTsgcS5wb3AoKTsKICAgICAgICAKICAgICAgICBpZiAoeCA9PSBoIC0gMSAmJiB5ID09IHcgLSAxKSB7CiAgICAgICAgICAgIHJldHVybiBiZnMoaCAtIDEsIHcgLSAxLCAwLCAwLCBibG9ja2VkKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0OyArK2kpIHsKICAgICAgICAgICAgaW50IG54ID0geCArIGR4W2ldLCBueSA9IHkgKyBkeVtpXTsKICAgICAgICAgICAgaWYgKG54ID49IDAgJiYgbnggPCBoICYmIG55ID49IDAgJiYgbnkgPCB3ICYmIGdyaWRbbnhdW255XSA9PSAnLicgJiYgIWJsb2NrZWQuY291bnQoe254LCBueX0pICYmICF2aXNpdGVkLmNvdW50KHtueCwgbnl9KSkgewogICAgICAgICAgICAgICAgdmlzaXRlZC5pbnNlcnQoe254LCBueX0pOwogICAgICAgICAgICAgICAgcS5wdXNoKHtueCwgbnl9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgCiAgICBjaW4gPj4gaCA+PiB3ID4+IHE7CiAgICBncmlkLnJlc2l6ZShoKTsKICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBoOyArK2kpIHsKICAgICAgICBjaW4gPj4gZ3JpZFtpXTsKICAgIH0KICAgIAogICAgd2hpbGUgKHEtLSkgewogICAgICAgIGludCBrOwogICAgICAgIGNpbiA+PiBrOwogICAgICAgIHNldDxwYWlyPGludCwgaW50Pj4gYmxvY2tlZDsKICAgICAgICAKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGs7ICsraSkgewogICAgICAgICAgICBpbnQgciwgYzsKICAgICAgICAgICAgY2luID4+IHIgPj4gYzsKICAgICAgICAgICAgYmxvY2tlZC5pbnNlcnQoe3IgLSAxLCBjIC0gMX0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBjb3V0IDw8IChpc0ludGVyZXN0aW5nKGJsb2NrZWQpID8gIllFU1xuIiA6ICJOT1xuIik7CiAgICAgICAgY291dC5mbHVzaCgpOyAvLyBGbHVzaCBvdXRwdXQgYXMgcmVxdWlyZWQKICAgIH0KICAgIAogICAgcmV0dXJuIDA7Cn0K