問題文
処理研には N N N 人の部員が所属しており、M M M 個の研究会があります。
また、部員には 1 , 2 , 3 , … , N 1,2,3, \dots, N 1 , 2 , 3 , … , N と番号が付いており、研究会には 1 , 2 , 3 , … , M 1,2,3, \dots, M 1 , 2 , 3 , … , M と番号が付いています。
現時点での、各部員と各研究会への所属の対応を表す表が、複数行からなる文字列 S S S で与えられ、i i i 行目の文字列の j j j 番目の文字 を S i , j S_{i,j} S i , j とします。
S i , j S_{i,j} S i , j が 1
のとき、部員 i i i は 研究会 j j j に所属していることを、 S i , j S_{i,j} S i , j が 0
のとき、部員 i i i は 研究会 j j j に所属していないことを表しています。
クエリが Q Q Q 個与えられるので、順番に処理してください。
クエリは以下の 8 8 8 種類のいずれかです。
1 p
: 部員 p p p が所属している研究会の数を出力する。
2 c
: 研究会 c c c に所属している部員の数を出力する。
3 p c
: 部員 p p p が新たに研究会 c c c に入会する。
4 p c
: 部員 p p p が研究会 c c c から脱会する。
5 p q
: 部員 p p p 、部員 q q q の双方が所属している研究会の数を出力する。
6 p q
: 部員 p p p 、部員 q q q の少なくとも片方が所属している研究会の数を出力する。
7 p q
: 部員 p p p 、部員 q q q の片方のみが所属している研究会の数を出力する。
8 p q
: 部員 p p p が所属していて、部員 q q q が所属していない研究会の数を出力する。
制約
2 ≤ N ≤ 100 2 \leq N \leq 100 2 ≤ N ≤ 100
1 ≤ M ≤ 60 1 \leq M \leq 60 1 ≤ M ≤ 60
1 ≤ Q ≤ 100 1 \leq Q \leq 100 1 ≤ Q ≤ 100
S i , j ( 1 ≤ i ≤ N , 1 ≤ j ≤ M ) S_{i,j} \, (1 \leq i \leq N, 1\leq j \leq M) S i , j ( 1 ≤ i ≤ N , 1 ≤ j ≤ M ) は 1
, 0
のいずれかである。
1 ≤ p , q ≤ N 1 \leq p,q \leq N 1 ≤ p , q ≤ N
p ≠ q p \neq q p = q
1 ≤ c ≤ M 1 \leq c \leq M 1 ≤ c ≤ M
3 3 3 番目の形式のクエリ 3 p c
が与えられるとき、そのクエリを処理する前の時点で、部員 p p p は 研究会 c c c に所属していないことが保証される。
4 4 4 番目の形式のクエリ 4 p c
が与えられるとき、そのクエリを処理する前の時点で、部員 p p p は 研究会 c c c に所属していることが保証される。
N , M , Q , p , q , c N,M,Q,p,q,c N , M , Q , p , q , c は全て整数
入力
N M
S_{1, 1}S_{1, 2}...S_{1, M}
S_{2, 1}S_{2, 2}...S_{2, M}
.
.
.
S_{N, 1}S_{N, 2}...S_{N, M}
Q
query_1
query_2
.
.
.
query_Q
1 1 1 行目に、部員数 N N N 、研究会の数 M M M が空白区切りで与えられます。
2 2 2 行目から1 + N 1+N 1 + N 行目まで、各部員と各研究会への所属の対応を表す表が文字列で与えられます。
2 + N 2+N 2 + N 行目に、与えられるクエリの数 Q Q Q が与えられます。
3 + N 3+N 3 + N 行目以降に、順にクエリが与えれます。
q u e r y i query_i q u er y i は i i i 個目のクエリであり、以下のいずれかの形式で与えられます。
出力
1 , 2 , 5 , 6 , 7 , 8 1,2,5,6,7,8 1 , 2 , 5 , 6 , 7 , 8 番目の形式のクエリ ( 1 p
, 2 c
, 5 p q
, 6 p q
, 7 p q
, 8 p q
) の個数を q q q 個として、 q q q 行で出力してください。i ( 1 ≤ i ≤ q ) i \, (1 \leq i \leq q) i ( 1 ≤ i ≤ q ) 行目には i i i 個目の 1 , 2 , 5 , 6 , 7 , 8 1,2,5,6,7,8 1 , 2 , 5 , 6 , 7 , 8 番目の形式のクエリに対する答えを出力してください。
入力例 1
5 3
000
111
101
010
001
8
1 1
2 2
3 1 2
4 2 3
5 1 2
6 3 4
7 5 1
8 2 3
出力例 1
q u e r y 1 query_1 q u er y 1 では、部員 1 1 1 が所属している研究会は 0 0 0 個なので、 0 0 0 を出力します。
q u e r y 2 query_2 q u er y 2 では、研究会 2 2 2 に所属している部員は、 {部員 2 2 2 , 部員 4 4 4 } の 2 2 2 人なので、 2 2 2 を出力します。
q u e r y 3 query_3 q u er y 3 では、部員 1 1 1 が新たに研究会 2 2 2 に入会します。
q u e r y 4 query_4 q u er y 4 では、部員 2 2 2 が研究会 3 3 3 から脱会します。
q u e r y 5 query_5 q u er y 5 では、部員 1 1 1 、部員 2 2 2 の双方が所属している研究会は、 {研究会 2 2 2 } の 1 1 1 個なので、 1 1 1 を出力します。
q u e r y 6 query_6 q u er y 6 では、部員 3 3 3 、部員 4 4 4 の少なくとも片方が所属している研究会は、 {研究会 1 1 1 , 研究会 2 2 2 , 研究会 3 3 3 } の 3 3 3 個なので、 3 3 3 を出力します。
q u e r y 7 query_7 q u er y 7 では、部員 5 5 5 、部員 1 1 1 の片方のみが所属している研究会は、 {研究会 2 2 2 , 研究会 3 3 3 } の 2 2 2 個なので、 2 2 2 を出力します。
q u e r y 8 query_8 q u er y 8 では、部員 2 2 2 が所属していて、部員 3 3 3 が所属していない研究会は、 {研究会 2 2 2 } の 1 1 1 個なので、 1 1 1 を出力します。
入力例 2
3 4
1000
1111
1011
10
6 1 2
3 1 2
4 2 2
7 1 3
8 3 2
1 2
8 1 2
6 1 3
1 3
2 3
出力例 2