小慕在搭建自己的网络项目时,遇到了一些特殊的IP地址。每个IP地址由四段数字组成,每一段数字有三种特殊的表现形式。 第一种表现形式:正常整数形式 例如,`9.18.27.36`,表示这是一个正常的整数。 第二种表现形式:,用 `[]` 括起 例如,`9.18.27.[34,36]`,表示这一段IP地址可以展开为多个IP地址,从 `34` 到 `36`,即:`9.18.27.34`、`9.18.27.35`、`9.18.27.36`。 第三种表现形式:,用 `{}` 括起 例如,`9.18.27.{36,45}`,表示这一段IP地址可以是 `36` 或 `45`,即:`9.18.27.36` 和 `9.18.27.45`。 小慕需要将这些特殊的IP地址字符串转换成标准的IP地址形式,并按升序排列输出。每个分量的字典序应按照数字的大小进行排序。例如: - `19.255.0.0` 大于 `19.6.0.0`,因为 `255` 大于 `6`。 注意:输出结果的数量不会超过10000个。
提示:带虚线的词点一下有通俗解释。
输入描述
- 输入一个IP地址字符串,包含四段,每段可能包含上述三种表现形式之一。
输出描述
- 输出所有合法的IP地址字符串,按字典序升序排列,每行输出一个IP地址。
示例
示例 1
输入
9.18.27.36
输出
9.18.27.36
示例 2
输入
9.18.27.[34,36]
输出
9.18.27.34 9.18.27.35 9.18.27.36
示例 3
输入
9.18.27.{36,45}输出
9.18.27.36 9.18.27.45
时间限制 1000 ms · 内存限制 128 MB