問題文

0以上 9以下の整数からなる長さ NN の数列 P=(p1,p2,...,pN)P = (p_1, p_2, ... ,p_N) が与えられます。

以下のクエリを QQ 個処理してください。

  • ii 番目のクエリでは0以上 9以下の整数からなる長さ 10 の数列 T=(t0,...,t9)T = (t_0, ..., t_9) が与えられます。1iN1 \leq i \leq N に対してpi=tpip_i = t_{p_i} と入れ替えた時の転倒数を求めよ。

クエリごとに PP は独立であることに注意してください。

転倒数とは 1i<jN1\leq i < j \leq Ni,ji, j に対して、Ai>AjA_i > A_j である個数を言います。

制約

  • 1N3×1031 \leq N \leq 3 \times 10^3 
  • 1Q1051 \leq Q \leq 10^5
  • 0pi90 \leq p_i \leq 9 (1iN)(1 \leq i \leq N)
  • 0qi90 \leq q_i \leq 9 (1iQ)(1 \leq i \leq Q)
  • 入力は全て整数

入力

NN QQ

p1p_1 ... pNp_N

各クエリに対して以下か入力として与えられる。

t0t_0 ... t9t_9

出力

整数で出力してください。

サンプル

入力1
5 3
0 1 2 3 9
1 1 1 0 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2
9 8 7 6 5 4 3 2 1 0
出力1
3
0
10

1つ目のクエリでは数列が (1,1,1,0,1)(1, 1, 1, 0, 1)に変化します。転倒数は3です。

2つ目のクエリでは数列が (2,2,2,2,2)(2, 2, 2, 2, 2)に変化します。転倒数は 0です。

3つ目のクエリでは数列が (9,8,7,6,0)(9, 8, 7, 6, 0)に変化します。転倒数は 10です。

Submit


Go (1.21)