在遙遠的大海賊時代,海盜大陸 (Pirate Land) 有著兩批海盜集團,稱為「西印度海盜」(Buccaneer) 和「巴巴利海盜」(Barbary)。每個海盜的身分並不是固定的,有時一個海盜被對方的海盜集團攻擊後,他的身分就會變成攻擊者的身分。突然有一天,一位魔法師出現在海盜大陸,只要他念一聲咒語,他就可以隨意地變換海盜的身分,這個過程稱為「轉移」(mutating)。
大陸上有 $N$ 個海盜,每個海盜的編號依序為 $0$ 到 $N-1$,大魔法師可以轉移連續編號的海盜變成某種海盜。
假設有 100 個巴巴利海盜在海盜大陸上,接著魔法師可施展一個魔法,把編號 10 到 33 的海盜變成西印度海盜,此時有 24 個西印度海盜和 76 個巴巴利海盜。
魔法師施展魔法的速度很快,這讓神開始不開心,因為神比較偏好西印度海盜,因此會問魔法師:「告訴我,在編號 2 到 30 號之間有幾個西印度海盜?」現在,魔法師陷入苦思,因為他只善於施法,而不是計數 XD。
於是聰明的魔法師去地球抓了一個聰明的人,但很不幸的就是你!因此你必須去回答神的問題。
Input
輸入的第一行包含測資組數 $T$,接著對於每筆測資:
第一部分描述海盜大陸,最多會有 $N$ ($1\leq{N}\leq{1024000}$) 個海盜,每個海盜不是西印度海盜,就是巴巴利海盜,西印度海盜以 1
表示、巴巴利海盜以 0
表示。所有海盜種類的資訊會以一系列的資料表示。
此部分第一行有一個整數 $M$ ($M\leq{100}$),接下來有 $M$ 組,每一組有兩行,每組第一行有個整數 $T$,另一行是一個非空字串 Pirates (由 0
和 1
組成,0
代表巴巴利、1
代表西印度,長度最長為 50),代表 Pirates 字串要重複 $T$ 次。接著串接起這 $M$ 組資料就是代表海盜種類的資訊。
第二部分的輸入包含了多筆詢問,此部分第一行有一整數 $Q$ 代表 $Q$ 筆詢問,接下來的 $Q$ ($1\leq{Q}\leq{1000}$) 行代表每筆詢問,每個詢問有一個字串,F
、E
、I
或 S
,和兩個代表編號的整數 a
和 b
,以下是每個詢問的意思:
F a b
代表把編號從 a 到 b 的海盜轉移成西印度海盜E a b
代表把編號從 a 到 b 的海盜轉移成巴巴利海盜I a b
代表把編號從 a 到 b 的海盜轉移成另一種海盜S a b
代表「神之查詢」神會問一個問題:「告訴我,在區間 a 到 b 之間有多少個西印度海盜?」
($a\leq{b}$, $0\leq{a} < n$, $0\leq{b} < n$, 編號範圍是有包含 $[a, b]$)
Output
對於每筆測資,輸出 Case #:
,而對於每組神之查詢則輸出 Q#:
,請參考 Sample Output。
解釋:
Case 1:
海盜大陸長這樣 ($N=18$)
101010101010001000
在神的第一次查詢前,樣子如下
000000111111111111
Case 2:
海盜大陸長這樣 ($N=9$)
111000000
Sample Input
2
2
5
10
2
1000
5
F 0 17
I 0 5
S 1 10
E 4 9
S 2 10
3
3
1
4
0
2
0
2
I 0 2
S 0 8
Sample Output
Case 1:
Q1: 5
Q2: 1
Case 2:
Q1: 0