2055. 地址变换(20分)

IPv6 地址采用冒号十六进制记法表示,由 32 位长十六进制数构成,每 4 位分为一组,每组之间用冒号分割。例如,一个 IPv6 地址可以是:68E6:8C64:FFFF:FFFF:0000:1180:960A:FFFF

为了表述简单,我们会这样缩写IPv6地址:

  1. 把每组数字前面连续的 0 省略。例如 060A, 0013, 0000 分别可以写为 60A, 13, 0
  2. 零压缩,即若干组连续的 0000 可以用一对冒号取代。例如 FF05:0:0:0:0:0:0:B3 压缩为 FF05::B3。在任一地址中只能使用一次零压缩。

给定简写的 IPv6 地址,请你求出它的完整形式。

输入

输入一行一个字符串,由英文半角冒号和十六进制位(英文字母大写)组成,代表简写 IPv6 地址。

输出

输出一行一个字符串,由英文半角冒号和十六进制位(英文字母大写)组成,代表完整 IPv6 地址。

样例

标准输入 复制文本
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
标准输出 复制文本
68E6:8C64:FFFF:FFFF:0000:1180:960A:FFFF
标准输入 复制文本
FF05::B3
标准输出 复制文本
FF05:0000:0000:0000:0000:0000:0000:00B3
标准输入 复制文本
::1
标准输出 复制文本
0000:0000:0000:0000:0000:0000:0000:0001

提示

保证输入的地址符合简写语法,即不会出现语法不合法地址(但不保证输入的地址在现实世界真实存在)。

来源

2023 天梯赛选拔赛 (重现)

登录以提交代码。
单点时限 1 秒
内存限制 256 MB
提交 29
通过 14