#include <bits/stdc++.h>
int main() {
  char s[30][30];
  char t[30][30];
  long long unsigned int adad[3000];
  long long unsigned int n, m, q, i, a, x, y;
  scanf("%llu %llu", &n, &m);
  for (i = 0; i < n; i++) {
    scanf("%s", &s[i]);
  }
  for (i = 0; i < m; i++) {
    scanf("%s", &t[i]);
  }
  scanf("%llu", &q);
  for (i = 0; i < q; i++) {
    scanf("%llu", &adad[i]);
  }
  for (i = 0; i < q; i++) {
    if (i != q - 1) {
      y = adad[i];
      x = adad[i];
      if (x <= n) {
        printf("%s", s[x - 1]);
      } else if (x > n) {
        x %= n;
        if (x == 0) {
          printf("%s", s[n - 1]);
        } else {
          printf("%s", s[x - 1]);
        }
      }
      if (y <= m) {
        printf("%s\n", t[y - 1]);
      } else if (y > m) {
        y %= m;
        if (y == 0) {
          printf("%s\n", t[m - 1]);
        } else {
          printf("%s\n", t[y - 1]);
        }
      }
    } else {
      y = adad[i];
      x = adad[i];
      if (x <= n) {
        printf("%s", s[x - 1]);
      } else if (x > n) {
        x %= n;
        if (x == 0) {
          printf("%s", s[n - 1]);
        } else {
          printf("%s", s[x - 1]);
        }
      }
      if (y <= m) {
        printf("%s", t[y - 1]);
      } else if (y > m) {
        y %= m;
        if (y == 0) {
          printf("%s", t[m - 1]);
        } else {
          printf("%s", t[y - 1]);
        }
      }
    }
  }
  return 0;
}
