1522 - Douteki Programming

時間制限 2 秒 / メモリ制限 128 MB / 得点 5 / Writer ei1903 / x 1 / 統計 /


TLE
2sec
MLE
128MB
得点
5

問題

文字列 S について 1165 - ハッピー文字列YDK の答えを返す関数を YDK(S) とする。すなわち、 YDK(YDKYDK) =4 である。

あなたは長さ N の文字列 S を所持しており、この文字列に対して以下のような更新クエリが Q 回にわたって与えられる。各更新後の文字列 S について、YDK(S) を求めよ。

i 回目のクエリでは整数 li,ri 及び文字 ci が与えられ、意味は次の通りである。

  • S  li 文字目から ri 文字目までを文字 ci に置き換える。

入力

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

N Q
S
l1 r1 c1
l2 r2 c2

lQ rQ cQ

出力

出力は Q 行からなり、i 行目には i 番目までの更新を行った後の文字列 S について YDK(S) を出力せよ。

制約

全ての入出力ケースについて以下を満たす。

  • 1N,Q2×105
  • S は英大文字のみからなる長さ N の文字列
  • 1liriN
  • ci は英大文字

入出力例

入力例1

6 3
YYDDDD
5 6 K
1 4 Y
5 5 D

出力例1

8
0
4
  • 1回目: S=YYDDKK なので8
  • 2回目: S=YYYYKK なので0
  • 3回目: S=YYYYDK なので4

入力例2

8 5
YDKKDYKK
4 8 C
6 8 K
7 7 D
2 5 Y
3 4 N

出力例2

1
4
4
5
3