#include <bits/stdc++.h>
using namespace std;
const long long Maxn3 = 1e3 + 10;
const long long Maxn4 = 1e4 + 10;
const long long Maxn5 = 1e5 + 10;
const long long Maxn6 = 1e6 + 10;
const long long Maxn7 = 1e7 + 10;
const long long Maxn8 = 1e8 + 10;
const long long Maxn9 = 1e9 + 10;
const long long Maxn18 = 1e18 + 10;
const long long Mod1 = 1e7 + 7;
const long long Mod2 = 1e9 + 7;
int n, m;
vector<string> ip1, name1, ip2, name2;
int main() {
  std::ios_base::Init i;
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(0);
  cin >> n >> m;
  string a, b;
  for (int i = 0; i < n; i++) {
    cin >> a >> b;
    name1.push_back(a);
    ip1.push_back(b);
  }
  for (int i = 0; i < m; i++) {
    cin >> a >> b;
    name2.push_back(a);
    ip2.push_back(b.substr(0, b.length() - 1));
  }
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      if (ip2[i] == ip1[j])
        printf("%s %s; #%s\n", name2[i].c_str(), ip2[i].c_str(),
               name1[j].c_str());
    }
  }
  return 0;
}
