#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <numeric>
#include <bitset>
#include <cmath>

static const int MOD = 1000000007;
using ll = long long;
using u32 = unsigned;
using u64 = unsigned long long;
using namespace std;

template<class T> constexpr T INF = ::numeric_limits<T>::max()/32*15+208;

int main() {
    string s;
    map<int, int> m1, m2;
    int f = 0;
    while(getline(cin, s)){
        if(s.empty()){
            f++;
            continue;
        }
        int a = 0, b = 0, c = 0;
        for (auto &&i : s) {
            if(i == ',') c++;
            else if(!c) a = a*10+(i-'0');
            else b = b*10+(i-'0');
        }
        if(f) m2[a]++;
        else m1[a]++;
    }
    for (auto &&i : m1) {
        if(m2.count(i.first)){
            printf("%d %d\n", i.first, i.second+m2[i.first]);
        }
    }
    return 0;
}
