#include <bits/stdc++.h>
using namespace std;
string my_string(int i) {
  stringstream ss;
  ss << i;
  string str = ss.str();
  return str;
}
string HitBlow(vector<int> A, vector<int> B) {
  int hit = 0, blow = 0;
  for (int i = 0; i < 4; i++)
    if (A[i] == B[i]) {
      B[i] = -1;
      hit++;
    }
  for (int i = 0; i < 4; i++) {
    if (B[i] == -1) continue;
    for (int j = 0; j < 4; j++) {
      if (A[j] == B[i]) {
        blow++;
      }
    }
  }
  string rtn = my_string(hit) + " " + my_string(blow) + "\n";
  cout << rtn;
  return rtn;
}
int main() {
  vector<vector<int> > inputA, inputB;
  bool isA = true;
  string line;
  ofstream outfile("outfile.txt");
  ifstream input_file("test_input.txt");
  if (input_file.is_open()) {
    while (getline(input_file, line)) {
      vector<int> tmp;
      for (int i = 0; i < line.length(); i++) {
        if (line[i] == ' ') continue;
        tmp.push_back(int(line[i] - '0'));
      }
      if (isA)
        inputA.push_back(tmp);
      else
        inputB.push_back(tmp);
      isA = !isA;
    }
  }
  string ss;
  for (int i = 0; i < inputA.size(); i++) {
    ss = HitBlow(inputA[i], inputB[i]);
    if (outfile.is_open()) outfile << ss;
  }
  return 0;
}
