#arc110e. [arc110_e]Shorten ABC

[arc110_e]Shorten ABC

問題文

A, B, C からなる長さ NN の文字列 SS があります。

あなたは SS に対して、以下の操作を 00 回以上行うことができます。

  • SineqSi+1S_i \\neq S_{i + 1} である i (1leqileqS1)i ~ (1 \\leq i \\leq |S| - 1) を選ぶ。SiS_iSi,Si+1S_i, S_{i + 1} のいずれとも(A, B, C の中で)異なる文字で置き換え、Si+1S_{i + 1}SS から削除する

操作を 00 回以上行ったあとの SS として、ありえるものの種類数を 109+710^9+7 で割った余りを出力してください。

制約

  • 1leqNleq1061 \\leq N \\leq 10^6
  • SSA, B, C からなる長さ NN の文字列

入力

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

NN SS

出力

操作を 00 回以上行ったあとの SS として、ありえるものの種類数を 109+710^9+7 で割った余りを出力せよ。


入力例 1

5
ABAAC

出力例 1

11

たとえば以下のように操作すると、文字列 SS として ACB が得られます。

  • まず ii として 22 を選ぶ。S2S_2C で置き換え、S3S_3 を削除するので SSACAC になる
  • 次に ii として 33 を選ぶ。S3S_3B で置き換え、S4S_4 を削除するので SSACB になる

入力例 2

50
AACCCCBBBACCCCABABCCCCABACCACACACCACABABBBABABACCB

出力例 2

256972022