爱丽丝在人偶制作的过程中,为了方便维护众多的“上海人偶”,为每个人偶标记了不同的版本号。随着人偶版本的更迭,版本号的排布变得十分混乱,她需要你帮忙将这些版本号按从小到大进行整理。 每个版本号字符串由主版本号和可选的测试版本号组成: 1. 主版本号:由 1 至 4 个非负整数组成,整数之间用 `.` 分隔(例如 `1.0.2`)。 2. 测试版本号:若存在,则位于主版本号之后,以空格分隔,格式为 `betaX`,其中 为正整数(例如 `1.0.2 beta3`)。若不包含此部分,则该版本为正式版。 排序规则如下: 1. 比较主版本号:从左至右依次比较对应位置的整数。若在某个位置数字不同,则数字较小者对应的版本号较小;若一个主版本号是另一个的前缀且两者长度不同,则较短者较小(例如 `1.0` 2. 当主版本号完全相同时: - 测试版总是小于正式版(例如 `1.0.0 beta9` - 若两者均为测试版,则比较 `beta` 后续的整数 ,数字较小者对应的版本号较小。
输入描述:
第一行包含一个整数 (),表示版本号的数量。 接下来的 行,每行包含一个符合上述格式的版本号字符串。 主版本号的每个部分均为 范围内的整数,且不含多余的前导零(除了数字 `0` 本身)。若存在 `beta` 字段,其后的数字 亦在 范围内。


输出描述:
输出共 行,每行一个字符串,表示按升序排列后的版本号序列。
示例1

输入

5
1.0.1.0
1.0.0.0 beta3
1.0.0.1 beta1
1.0.0.0 beta2
1.0.0.1

输出

1.0.0.0 beta2
1.0.0.0 beta3
1.0.0.1 beta1
1.0.0.1
1.0.1.0

说明

样例排序说明:
- 首先比较主版本号:`1.0.0.0` 的部分位数字小于 `1.0.0.1` 和 `1.0.1.0`,故排在最前。
- 对于主版本号同为 `1.0.0.0` 的两个版本,比较测试版编号:由于 latex,故 `beta2` 排在 `beta3` 之前。
- 对于主版本号同为 `1.0.0.1` 的两个版本,由于测试版 `beta1` 必须小于正式版,故 `1.0.0.1 beta1` 排在 `1.0.0.1` 之前。
加载中...