#CF2048I1. 凯文与谜题(简单版本)

凯文与谜题(简单版本)

I1. 凯文与谜题(简单版本)

单次测试时间限制22内存限制512512 兆字节

这是该问题的简单版本。两个版本的区别在于:在这个版本中,你只需要找到任意一个合法数组。只有当你解决了该问题的所有版本时,才能进行 hack 操作。

凯文正在参观红色教堂,他在墙上发现了一个谜题。

对于数组 aa,我们定义 c(l,r)c(l,r) 表示子数组 al,al+1,,ara_l,a_{l+1},\dots,a_r不同数字的个数。特别地,如果 l>rl>r,我们定义 c(l,r)=0c(l,r)=0

给定一个长度为 nn、仅由字母 L\text{L}R\text{R} 组成的字符串 ss。如果一个非负整数数组 aa 满足以下条件,我们称其为合法数组: 对于所有 1in1 \le i \le n

  • si=Ls_i = \text{L},则 c(1,i1)=aic(1,i-1) = a_i
  • si=Rs_i = \text{R},则 c(i+1,n)=aic(i+1,n) = a_i

如果存在合法数组 aa,输出任意一个合法数组;否则,输出 1-1


输入格式

每个测试文件包含多组测试数据。 第一行输入一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每组测试数据的格式如下: 第一行输入一个整数 nn2n21052 \le n \le 2 \cdot 10^5),表示字符串 ss 的长度。 第二行输入一个长度为 nn 的字符串 ss,仅包含大写英文字母 L\text{L}R\text{R}

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5


输出格式

对于每组测试数据:

  • 如果存在合法数组,输出一行 nn 个非负整数,表示任意一个合法数组 aa
  • 否则,输出一个整数 1-1

如果有多个数组满足条件,你可以输出其中任意一个。


样例输入

4
3
LLR
3
RRL
4
RRLR
5
LLRLR

样例输出

0 1 0
2 1 2
-1
0 1 2 3 0

样例说明

在第一个测试用例中,数组 [0,1,0][0,1,0] 满足所有条件:

  • i=1i=1 时,si=Ls_i=\text{L},且 c(1,0)=0c(1,0)=0
  • i=2i=2 时,si=Ls_i=\text{L},且 c(1,1)=1c(1,1)=1(因为 a1a_1 中只有 11 个不同数字);
  • i=3i=3 时,si=Rs_i=\text{R},且 c(4,3)=0c(4,3)=0

在第二个测试用例中,[1,1,1][1,1,1] 也是一个合法答案。

在第三个测试用例中,可以证明不存在满足条件的数组。