IPv6

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

문제

IPv6은 길이가 128비트인 차세대 인터넷 프로토콜이다.

IPv6 주소는 32자리 16진수를 4자리씩 나누어 적는다. 이때 각 그룹은 콜론(:)으로 구분한다.

예를 들어 다음과 같다.

2001:0db8:85a3:0000:0000:8a2e:0370:7334

32자리 16진수는 사람이 읽고 쓰기 불편하고, 대부분의 자리가 0인 경우가 많으므로 아래 규칙으로 축약할 수 있다.

  1. 각 그룹의 앞쪽에 있는 0은 일부 또는 전부를 생략할 수 있다. 위 주소는 다음처럼 축약할 수 있다.
2001:db8:85a3:0:00:8a2e:370:7334
  1. 0으로만 이루어진 그룹이 있다면, 그중 1개 이상 연속된 그룹 하나를 골라 콜론 두 개(::)로 바꿀 수 있다.
2001:db8:85a3::8a2e:370:7334

두 번째 규칙은 모호함을 막기 위해 한 번만 사용할 수 있다.

올바른 축약형 IPv6 주소가 주어졌을 때, 이를 4자리 16진수 8개 그룹으로 이루어진 원래 형태로 복원해 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 올바른 IPv6 주소가 주어진다. 주소의 길이는 최대 39자이며, 숫자 0-9, 알파벳 소문자 a-f, 콜론(:)으로만 이루어져 있다.

출력

입력으로 주어진 IPv6 주소를 축약되지 않은 형태로 출력한다.