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:
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.
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.
Print a single line containing 8 groups of four-digit hexadecimal numbers separated by colons – the full canonical notation of the IP address.
2001:0DB8:85A3:0000:0000:8a2e:0370:7334
2001:0db8:85a3:0000:0000:8a2e:0370:7334
2001:db8:85a3::8a2e:370:7334
2001:0db8:85a3:0000:0000:8a2e:0370:7334
::1
0000:0000:0000:0000:0000:0000:0000:0001
1::1:0:1:0:1:0
0001:0000:0001:0000:0001:0000:0001:0000