向前文本编辑器
题号:NC236595
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛需要一个程序帮它码一段文字,初始时文本为空,光标在文本最前方。

牛牛会发出 m 条指令,指令分两种:
     这里  且 s 是一个字符串,代表在当前光标位置插入字符串 s 并把光标移到 s 的末尾(并不是整个文本的末尾)。
     这里  且 x 是一个正整数,代表将光标向前移动 x 个位置(保证不会超过光标前字符的个数)。

牛妹觉得这种程序已经有人做过类似的了,所以她把这题稍微修改了一点。

在原本需要输入字符串 s 的地方,牛妹将只会给出一个正整数 len 代表 s 的长度,而 s 则被定义为字符串 T 的第 1 到第 len 个字符组成的子串。
这里的字符串 T 被定义成由循环节 "abcd…xyz012…89ABCD…XYZ" ,组成的无限长字符串。

现在请你帮牛牛实现这个文本编辑器,并输出文本最后的状态(由于最后文本可能过于庞大,所以这里只需要输出文本的第 1 和第  个字符直到文本末尾)以及光标前方字符的个数,两者用一个空格分隔。

输入描述:

第一行一个整数 m 代表操作数。
接下来 m 行,每行描述了一个操作。
保证:
 ,所有 len 的和不超过

输出描述:

输出共一行一个字符串和整数分别代表文本最后的状态(如题意压缩后)和光标前方字符的个数。
示例1

输入

复制
5
1 3
1 2
2 3
1 2
2 1

输出

复制
a 3

说明

此时的文本为:“aba|bcab”。
其中 '|' 代表光标的位置。
示例2

输入

复制
2
1 100
2 60

输出

复制
aB 40

说明

此时的文本为:“abcd…xyz012…89ABCD…UVWX|YZabcd…xyz012…89AB”。
其中 '|' 代表光标的位置。