H. IP v6
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

The canonical full notation of an IP address in TCP/IP version 6 consists of 8 blocks of 4 hexadecimal digits each, separated by colons. However, this notation is very long, so there are several rules for shortening it:

  • It is allowed to omit up to three leading zeros in each block of hexadecimal digits. For example, the address "0001:0000:0001:0000:0001:0000:0001:0000" it will be shortened to "1:0:1:0:1:0:1:0". If a block consists entirely of zeros, then it can be shortened to a single zero, but it cannot be completely empty.
  • One, the longest sequence of consisting entirely of zeros consecutive blocks may be omitted, leaving two colons in its place "::". If there are several such sequences, any of them may be chosen, but only one. So, for example, the address of the loop from "0000:0000:0000:0000:0000:0000:0000:0001" can be shortened to "::1".

Operations can be applied to an IP address either separately or together, in any order.

In addition, there is a convention to use lowercase letters when writing the address.

Write a program that, given a shortened IP address, restores its full canonical notation.

Input

The input data consists of a single string, a shortened IP address consisting only of hexadecimal digits and colons. It is guaranteed that the double colon "::" appears in this line no more than once.

Output

Print a single line containing 8 groups of four-digit hexadecimal numbers separated by colons – the full canonical notation of the IP address.

Examples
Input
2001:0DB8:85A3:0000:0000:8a2e:0370:7334
Output
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Input
2001:db8:85a3::8a2e:370:7334
Output
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Input
::1
Output
0000:0000:0000:0000:0000:0000:0000:0001
Input
1::1:0:1:0:1:0
Output
0001:0000:0001:0000:0001:0000:0001:0000