철물점 판매

면접 대비

시간 제한1초메모리 제한512 MB

요약
세 상점의 (상품 ID, 판매 수량) 구매 목록이 주어질 때, 각 상점에서 총 20개 이상 판매된 상품의 개수를 세고 ID를 처음 등장한 순서로 출력한다.
난이도

보통10점 중 4점

유형
해시맵, 구현, 배열, 정렬
정답자
아직 제출이 없습니다

문제

Bree Kim Orter는 주 안의 서로 다른 지역에서 철물점 세 곳을 운영한다. 그녀는 주 전체에서 어떤 상품이 인기 있는지, 특히 세 가게 모두에서 20개 이상 팔린 상품에 관심이 있다. 각 가게마다 지난 일주일 동안의 구매 기록이 시간 순서대로 있다. 각 구매 기록은 상품의 ID 번호와 구매 수량, 두 정수로 이루어진다. 그러한 목록의 예는 다음과 같다.

178293 3 457839 10 322228 1 ...

이 목록은 그 주의 첫 구매가 ID #178293 상품 3개였다는 뜻이다. 다음 구매는 ID #457839 상품 10개였고, 이런 식으로 이어진다. 세 목록(가게마다 하나씩)이 주어졌을 때, Bree는 그 주에 세 가게 모두에서 20개 이상 팔린 상품의 개수를 알고 싶어 한다.

입력

입력은 세 정수 n1 n2 n3를 포함한 줄로 시작한다. 여기서 1 ≤ n1, n2, n3 ≤ 100은 세 목록 각각의 구매 건수다. 이어서 첫 번째 가게의 구매 목록이 주어지며, n1쌍의 양의 정수를 포함한다. 각 쌍의 첫 번째 수는 6자리 ID 번호(앞에 0이 올 수 있다)이고 두 번째는 판매 수량이다. 이 n1쌍은 여러 줄에 걸쳐 있을 수 있다. 그다음 새 줄에서 두 번째 가게의 구매 목록이 시작되고, 다시 새 줄에서 세 번째 가게의 구매 목록이 시작된다. 모든 구매 수량은 100 이하다. 하나의 목록에 같은 ID 번호가 여러 번 나올 수 있다.

출력

세 가게 모두에서 20개 이상 팔린 상품의 개수를 출력한다. 이어서 그 상품들의 ID 번호를 출력한다. ID 번호는 입력 파일에서 처음 나타난 순서대로 출력한다.

예제1

  1. 예제 1

    입력
    5 2 4
    123682 20 239481 23 001238 5 738299 4 001238 17
    001238 31 123682 25
    239481 25 123682 22 909090 18 001238 27
    
    예상 출력
    2 123682 001238