2131: 变动长度编码

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:5 通过:5

题目描述

变动长度编码主要用于检测重复的比特或字符序列,并用它们的出现次数取而代之,从而实现压缩。
现在给定义一个字符序列,按照下列规则进行编码:
  • 2 到 9 个相同字符组成的序列统一由两个字符编码,第一个字符表示序列的长度,第二个字符表示重复字符的值;
  • 超过 9 个相同字符的序列先编码前 9 个字符,后续在按照相同的规则进行编码;
  • 任何不包含任何字符连续重复的字符序列编码时在首尾均加上一个 '1';如果 '1' 出现在序列中,将 '1' 转义编码成 '11'。
按照上述规则,字符串 AAAAA 编码成 5A,字符串 AAAAAAAAAA 编码成 9A1A1,字符串 1AB 编码成 111AB1。

输入格式

输入第一行为正整数 T,表示输出存在 T 组测试数据,T ≤ 10。
对于每组测试数据,输入一行字符串,长度不超过1000,字符串仅包括大小写字母、数字。

输出格式

对于每组测试数据,输出编码后的字符序列。

输入样例 复制

3
AAAAA
AAAAAAAAAA
1AB

输出样例 复制

5A
9A1A1
111AB1