跳转至

异星工厂:分拣流水线

预估时间限制:0.5 秒。内存限制:128 MB。

实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。

背景故事

一位工程师接下了异星工厂信号网络的订单。四个单元会输出整数、小数、大写字母和小写字母;分拣流水线需要把混在一起的信号分类、汇总,并转换字母的大小写。

形式化问题描述

字符串 \(S\) 由四类单元的输出依次连接而成:

  • A 类:一个非负十进制整数,不含小数点。
  • B 类:一个非负十进制小数,恰有一个小数点,小数点后至多两位,整个数至少有一位数字。允许 .1 和 0. 这样的形式。
  • C 类:一个大写英文字母。
  • D 类:一个小写英文字母。

任意两个数之间至少有一个字母。因此,每个由数字和小数点组成的极长连续片段,恰好是一个数。数中不含正负号或科学记数法。

求 A 类整数之和、B 类小数之和,并分别收集 C 类与 D 类字母。C 类转为小写,D 类转为大写;同一类内保持出现顺序。

输入格式

输入一行字符串 \(S\) ,不含空格。允许空行。

输出格式

输出四行,依次为:

  1. 整数之和。
  2. 小数之和,恰好保留两位小数,小数点两侧都有数字。
  3. 转为小写后的 C 类字母串。
  4. 转为大写后的 D 类字母串。

没有相应的数时,其和为零;没有相应的字母时,仍输出对应的空行。

样例

样例 1

输入

0x3F666.

输出

3
666.00
f
X

样例 2

输入

66ccff3f3f3f3f

输出

78
0.00

CCFFFFFF

样例 3

输入

.01A.09b0.C999999.99

输出

0
1000000.09
ac
B

样例解释

样例 1 中,整数为 \(0,3\) ,小数为 \(666.\) ,两种字母分别是 F 和 x .

样例 2 没有小数和大写字母,第三行为空。样例 3 的小数之和为 \(1000000.09\) ;单个数的范围不会限制总和。

数据范围与保证

对 100% 的数据:\(0\le |S|\le10^5\) ;每个数的值都小于 \(10^6\) . 字符串满足上述生成规则;数可以有前导零。

分值比例 额外条件
100% 无额外条件