# 异星工厂:分拣流水线 预估时间限制:0.5 秒。内存限制:128 MB。 实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 $2$ ,按 $0.5$ 秒向上取整。参考环境见[评测说明](../../../docs/评测环境与性能.md)。 ## 背景故事 一位工程师接下了异星工厂信号网络的订单。四个单元会输出整数、小数、大写字母和小写字母;分拣流水线需要把混在一起的信号分类、汇总,并转换字母的大小写。 ## 形式化问题描述 字符串 $S$ 由四类单元的输出依次连接而成: - A 类:一个非负十进制整数,不含小数点。 - B 类:一个非负十进制小数,恰有一个小数点,小数点后至多两位,整个数至少有一位数字。允许 ` .1` 和 `0.` 这样的形式。 - C 类:一个大写英文字母。 - D 类:一个小写英文字母。 任意两个数之间至少有一个字母。因此,每个由数字和小数点组成的极长连续片段,恰好是一个数。数中不含正负号或科学记数法。 求 A 类整数之和、B 类小数之和,并分别收集 C 类与 D 类字母。C 类转为小写,D 类转为大写;同一类内保持出现顺序。 ## 输入格式 输入一行字符串 $S$ ,不含空格。允许空行。 ## 输出格式 输出四行,依次为: 1. 整数之和。 2. 小数之和,恰好保留两位小数,小数点两侧都有数字。 3. 转为小写后的 C 类字母串。 4. 转为大写后的 D 类字母串。 没有相应的数时,其和为零;没有相应的字母时,仍输出对应的空行。 ## 样例 ### 样例 1 ### 输入 ```text 0x3F666. ``` ### 输出 ```text 3 666.00 f X ``` ### 样例 2 ### 输入 ```text 66ccff3f3f3f3f ``` ### 输出 ```text 78 0.00 CCFFFFFF ``` ### 样例 3 ### 输入 ```text .01A.09b0.C999999.99 ``` ### 输出 ```text 0 1000000.09 ac B ``` ## 样例解释 样例 1 中,整数为 $0,3$ ,小数为 $666.$ ,两种字母分别是 `F` 和 `x` . 样例 2 没有小数和大写字母,第三行为空。样例 3 的小数之和为 $1000000.09$ ;单个数的范围不会限制总和。 ## 数据范围与保证 对 100% 的数据:$0\le |S|\le10^5$ ;每个数的值都小于 $10^6$ . 字符串满足上述生成规则;数可以有前导零。 | 分值比例 | 额外条件 | | --- | --- | | 100% | 无额外条件 |