IP 주소

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

마티(Mati)는 자신의 웹사이트에 누가 방문하는지 정확히 알고 싶어 합니다. 방문자를 추적하기 위해 마티는 다음과 같이 동작하는 스크립트를 작성했습니다.

  • 지금까지 본 모든 방문자의 IP 주소를 하나의 텍스트 파일에 보관합니다.
  • 새 요청(방문자)이 들어올 때마다 grep 프로그램으로 그 IP 주소가 텍스트 파일에 있는지 검사합니다(grep <새IP> <파일>).
  • 일치하는 것이 없으면 새 주소를 파일 끝에 추가하고 마티에게 알림을 보냅니다.
  • 그 밖의 경우에는 아무것도 하지 않습니다.

IP 주소는 각각 $0$ 이상 $255$ 이하인 정수 네 개와 그 사이의 점(.)으로 이루어진 문자열입니다.

grep은 정규식으로 기술한 패턴을 텍스트 파일에서 찾는 데 널리 쓰이는 도구입니다. 그런데 마티는 grep을 잘못 사용하고 있습니다. 이유는 다음과 같습니다.

  • grep은 부분 문자열을 찾습니다. 즉 찾는 패턴이 반드시 줄의 처음에서 시작하거나 줄의 끝에서 끝날 필요가 없습니다.
  • 찾는 패턴은 정규식으로 해석됩니다. 따라서 찾으려는 IP 주소의 점(.)은 텍스트 파일의 임의의 문자와 일치할 수 있습니다(그 반대는 성립하지 않습니다. 즉 패턴의 숫자는 파일의 점과 일치하지 않습니다).

마티의 스크립트가 처리한 모든 IP 주소의 목록이 처리 순서대로 주어집니다. 마티의 스크립트가 실수로 파일에 추가하지 못한 주소가 무엇인지 알아내세요.

입력

첫째 줄에 IP 주소의 개수 $N$ ($1 \le N \le 1,000,000$)이 주어집니다. 이어지는 $N$개의 줄에는 각 줄마다 IP 주소가 하나씩 주어집니다. 입력에는 같은 주소가 여러 번 나올 수 있으며, 어떤 테스트에서도 서로 다른 주소의 총 개수는 $2,000$을 넘지 않습니다.

출력

첫째 줄에 스크립트가 추가하지 못한 서로 다른 주소의 개수 $V$를 출력합니다. 이어지는 $V$개의 줄에는 추가되지 못한 주소들을, 입력에서 처음 등장한 순서대로 한 줄에 하나씩 출력합니다.