#include <bits/stdc++.h>
using namespace std;
long long n, m, q, a[501][501], s[501][501],
    K[4] = {0, 1, 1000000, 1000000000000ll}, o;
int f[501 / 2][501][501];
long long get() {
  char ch = getchar();
  while (ch != 'R' && ch != 'G' && ch != 'Y' && ch != 'B') ch = getchar();
  if (ch == 'R') return 0;
  if (ch == 'G') return 1;
  if (ch == 'Y') return K[2];
  return K[3];
}
bool check(long long x, long long y, long long X, long long Y, long long k) {
  long long res = s[X][Y] - s[x - 1][Y] - s[X][y - 1] + s[x - 1][y - 1];
  if (o)
    cout << x << " " << y << " " << X << " " << Y << " " << k << " " << res
         << endl;
  return res == k * (X - x + 1) * (Y - y + 1);
}
void init() {
  for (long long i = 1; i <= n; i++)
    for (long long j = 1; j <= m; j++) a[i][j] = get();
  for (long long i = 1; i <= n; i++)
    for (long long j = 1; j <= m; j++)
      s[i][j] = a[i][j] + s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1];
  for (long long i = 1; i <= n; i++)
    for (long long j = 1; j <= m; j++)
      if (a[i][j])
        continue;
      else {
        long long res = 0;
        for (long long k = 1; i + 2ll * k - 1 <= n && j + 2ll * k - 1 <= m; k++)
          if (check(i, j, i + k - 1, j + k - 1, K[0]) &&
              check(i, j + k, i + k - 1, j + 2ll * k - 1, K[1]) &&
              check(i + k, j, i + 2ll * k - 1, j + k - 1, K[2]) &&
              check(i + k, j + k, i + 2ll * k - 1, j + 2ll * k - 1, K[3])) {
            res = k;
            break;
          }
        f[res][i][j] = 1;
        o = 0;
      }
}
bool fuck(long long x, long long y, long long X, long long Y, long long k) {
  long long res =
      f[k][X][Y] - f[k][x - 1][Y] - f[k][X][y - 1] + f[k][x - 1][y - 1];
  return res > 0;
}
int ask() {
  long long x, y, X, Y, w, h, ans = 0;
  scanf("%lld%lld%lld%lld", &x, &y, &X, &Y);
  w = X - x + 1, h = Y - y + 1;
  for (long long i = min(w, h) / 2; i >= 1; i--)
    if (fuck(x, y, X - 2ll * i + 1, Y - 2ll * i + 1, i))
      return printf("%lld\n", 4ll * i * i), 0;
  return printf("0\n"), 0;
}
void rua() {
  for (long long k = 1; k * 2 <= min(n, m); k++)
    for (long long i = 1; i + 2ll * k - 1 <= n; i++)
      for (long long j = 1; j + 2ll * k - 1 <= m; j++)
        f[k][i][j] =
            f[k][i][j] + f[k][i - 1][j] + f[k][i][j - 1] - f[k][i - 1][j - 1];
}
int main() {
  scanf("%lld%lld%lld", &n, &m, &q);
  init();
  rua();
  while (q--) ask();
}
