#include <bits/stdc++.h>
struct pt {
  int c, d;
} p[110000];
int n, m, b[1100][1100], c[1100], Ans1, Ans2;
int main() {
  int i, j, k;
  scanf("%d%d", &n, &m);
  for (i = 0; i < n; i++) scanf("%d%d", &p[i].c, &p[i].d);
  for (i = 0; i < m; i++) {
    scanf("%d%d", &j, &k);
    b[j][k]++;
    c[k]++;
  }
  for (i = 0; i < n; i++) {
    if (c[p[i].d]) {
      Ans1++;
      c[p[i].d]--;
    }
    if (b[p[i].c][p[i].d]) {
      Ans2++;
      b[p[i].c][p[i].d]--;
    }
  }
  printf("%d %d\n", Ans1, Ans2);
  return 0;
}
