#agc044c. [agc044_c]Strange Dance

[agc044_c]Strange Dance

問題文

3N3^N 人の人が輪になって踊っています。 輪の中の人がいる位置に、0,1,dots,3N10,1,\\dots, 3^{N}-1 の番号を、適当な場所から始めて時計回りに付けます。はじめ、これらの位置それぞれに一人の人が立っています。

これから二種類の曲、サルサとルンバが流れ、人々はそれに合わせて踊ります。

  • サルサが流れたら、位置 ii にいる人は以下で述べるような位置 jj に移動します。jj は、ii33 進法で表記し、11 という桁をそれぞれ 22 に、22 という桁をそれぞれ 11 に置き換えて得られる数です (例えば、位置 4646 の人は位置 6565 に移動します)。
  • ルンバが流れたら、位置 ii にいる人は位置 i+1i+1 に移動します。ここで、位置 3N3^N は位置 00 とみなします。

文字列 T=T1T2cdotsTTT=T_1T_2\\cdots T_{|T|} が与えられます。これは、Ti=T_i=S なら ii 番目に流れる曲がサルサであり、Ti=T_i=R ならルンバであることを表します。 はじめ位置 ii に立っていた人が、すべての曲が流れたあとに位置 PiP_i に立っているとします。 列 P0,P1,dots,P3N1P_0,P_1,\\dots, P_{3^N-1} を求めてください。

制約

  • 1leNle121 \\le N \\le 12
  • 1leTle200,0001 \\le |T| \\le 200,000
  • TTSR からなる。

入力

入力は標準入力から以下の形式で与えられる。

NN TT

出力

以下の形式で標準出力に出力せよ。

P0P_0 P1P_1 cdots\\cdots P3N1P_{3^N-1}


入力例 1

1
SRS

出力例 1

2 0 1 

最初の曲が流れる前に位置 ii に立っていた人を人 ii とします。

  1. サルサが一度目に流れたあと、人 0,1,20, 1, 2 はそれぞれ位置 0,2,10, 2, 1 に立っています。
  2. ルンバが流れたあと、人 0,1,20, 1, 2 はそれぞれ位置 1,0,21, 0, 2 に立っています。
  3. サルサが二度目に流れたあと、人 0,1,20, 1, 2 はそれぞれ位置 2,0,12, 0, 1 に立っています。

入力例 2

2
RRSRSSSSR

出力例 2

3 8 1 0 5 7 6 2 4 

入力例 3

3
SRSRRSRRRSRRRR

出力例 3

23 9 22 8 3 7 20 24 19 5 18 4 17 12 16 2 6 1 14 0 13 26 21 25 11 15 10