#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
struct {int n, d;} a[2][1000], x;
int main()
{
	string s;
	char t[1025];
	int i=0, j, k=0, l, n[2]={0, 0};
	while (getline(cin, s))
	{
		if (s.empty())
		{
			k++, i=0;
			continue;
		}
		sprintf(t, "%s", s.c_str());
		sscanf(t, "%d,%d", &a[k][i].n, &a[k][i].d);
		i++, n[k]++;
	}
	for (k = 0; k < 2; k++)
		for (i = 0; i < n[k]; i++)
			for (j = 0; j < n[k]; j++)
				if (a[k][i].n < a[k][j].n)
					x = a[k][i], a[k][i] = a[k][j], a[k][j] = x;
	for (i = 0; i < n[0]; i++)
	{
		if (0 < i && i < n[0]-1 && a[0][i-1].n == a[0][i].n)
			i++;
		else if (i > n[0]-1)
			break;
		for (j = k = 0; j < n[0]; j++)
			if (a[0][i].n == a[0][j].n)
				k++;
		for (j = l = 0; j < n[1]; j++)
			if (a[0][i].n == a[1][j].n)
				l++;
		if (k > 0 && l > 0)
			cout << a[0][i].n << " " << k+l << endl;
	}
}