/*****include*****/
#include <iostream>
#include <fstream>
#include <string>

/*****デバッグ定義*****/
//#define DEBUG
/*****マクロ定義*****/

/*****名前空間*****/
using namespace std;

/*****グローバル変数置き場*****/
/*****その他関数置き場*****/

/*****main関数*****/
int main(){
	/*****ファイルオープン*****/
#ifdef DEBUG
	ofstream fout("output.txt");
	ifstream fin("input.txt");
	if(!fout || !fin){
		cout << "Can't open the file.\n";
		return;
	}
#endif
	/*****変数置き場*****/
	int a_number[4];
	int b_number[4];
	int hit;
	int blow;
	/*****処理部*****/
	while(1){
		for(int i=0;i<4;i++)	cin >> a_number[i];
		for(int i=0;i<4;i++)	cin >> b_number[i];
		hit = 0;
		blow = 0;
		for(int i=0;i<4;i++)
			for(int j=0;j<4;j++)
				if(j >= i){		//全ての組み合わせ（×順列）を試す
					if(a_number[i] == b_number[j])
						if(i == j)	hit++;
						else		blow++;
				}
		cout << hit << " " << blow << endl;
	}
	/*****処理終了後*****/
#ifdef DEBUG
	fout.close();
	fin.close();
#endif
	return 0;
}