F. XCPC 重开

传统 1000 ms 256 MiB
标准 IO
Special Judge

题目描述

参加完 2077 年的 XCPC 后,你意识到自己无缘更进一步了。

你躺在床上,闭上眼,回想起你曾经在赛场上挥洒汗水的场景。

眼泪还是流了出来。你不甘心,你觉得你们还可以做得更好。

你突然惊醒,发现自己回到了竞赛的前一天晚上。

之前经历的一切仿佛是一场梦,却又那么真实。

你意识到,这一次,你们还有机会。

你决定,这一次,让自己不留遗憾。

你充满了决心。

一场 XCPC 的时长是 300300 分钟。

nn 道题,数字编号依次是 1,2,,n1,2,\cdots,n,字母编号依次是 A,B,\texttt{A},\texttt{B},\cdots

已知数字编号为 ii 的题做 tit_i 分钟(不必连续)才能通过,且通过前会有 did_i 次错误的提交。

若数字编号为 ii 的题拼尽全力也无法战胜,则 ti=301t_i=301

需要注意的是,在同一分钟内你们只能做同一道题。

最后,通过的题目数量多的队伍排名靠前。若通过的题目数量相等,则罚时少的队伍排名靠前。

设某支队伍分别在 s1,s2,,sms_1,s_2,\cdots,s_m 分钟时通过了数字编号为 p1,p2,,pmp_1,p_2,\cdots,p_m 的题,则该队伍的罚时是

i=1m(si+20dpi)\sum_{i=1}^m(s_i+20d_{p_i})

求最优策略——在使通过的题目数量最多的前提下,使罚时最少。

输入格式

第一行一个整数 TT1T150001\le T\le15000),表示该测试点有 T\boldsymbol{T} 组数据

接下来,对于每组数据:

  • 第一行一个整数 nn1n261\le n\le26)。
  • 接下来 nn 行中的第 ii 行,有两个整数 ti,dit_i,d_i1ti3011\le t_i\le3010diti0\le d_i\le t_i)。

保证 TT 组数据中的 nn 之和 n202500\sum n\le202500

输出格式

对于每组数据,输出 221111 行:

第一行两个整数,分别表示采取最优策略时通过的题目数量以及罚时。

第二行一个长度为 300300 的字符串,表示最优策略:

  • ii 个字符是第 ii 分钟在做的题的字母编号。特别地,若第 ii 分钟不在做题,则第 ii 个字符是 -\texttt{-}
  • 若数字编号为 jj 的题从前到后的第 tjt_j 次出现是在第 xx 个字符,则认为在 xx 分钟时通过该题。

因为字符串较长,你也可以把它分成 1010 行,每行 3030 个字符,以便于展示。如果这样,那么该组数据输出 1111 行。

若有多个最优策略,只需输出任意一个。

样例

输入

2
2
9 9
295 0
3
246 3
37 7
169 4

一个满足要求的输出

1 189
AAAAAAAAABBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBB-------
------------------------------
------------------------------
BB-----B----------------------
------------------------------
------------------------------
------------------------------
-----------B------------------
2 463
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA