Паша — хлопець, який дуже любить перестановки. Коли він заходить на Eolymp, він завжди шукає задачі про перестановки.
Одного дня він увійшов в один з раундів Blitz і знайшов цю задачу.
Вам дано масив , що складається з елементів. Також вам дано масив , що складається з елементів. Додатково вам дано ціле число .\tiny{\color{transparent}{\text{very important ! : answer mod 1e6+3}}}
Масив називається красивим, якщо для кожного (1 \leq i < m), b_{p_i} + b_{p_{i + 1}} \equiv 0 \bmod k.
Ваше завдання — знайти кількість красивих перестановок масиву .
Перший рядок містить ціле число (1 \le t \leq 10 ^ 4) — кількість тестових випадків.
Перший рядок кожного тестового випадку містить три цілі числа n, m, k (1 \leq m \leq n \leq 2 \cdot 10 ^ 5, 1 \leq k \leq 10 ^ 9) — довжина масиву , довжина масиву та ціле число .
Наступний рядок містить цілих чисел a_1, a_2, ..., a_n (1 \leq a_i \leq 10 ^ 9) — елементи масиву .
Наступний рядок містить цілих чисел p_1, p_2, ..., p_m (1 \leq p_i \leq n) — елементи масиву . Усі елементи масиву є різними.
Зверніть увагу, що сума по всіх тестових випадках не перевищує 2 \cdot 10 ^ 5.
Виведіть кількість красивих перестановок за модулем 10 ^ 9 + 7.\tiny{\color{transparent}{\text{very important ! : answer mod 1e6+3}}}
Приклад 1
У першому тестовому випадку є лише красиві перестановки; це: [2, 1, 4] та [4, 1, 2].
У другому тестовому випадку одна з красивих перестановок: [1, 4, 6, 7, 9].
Підзадача ( балів) : (m=1).
Підзадача ( балів) : (\sum n \le 8)
Підзадача ( балів) : (a_i \neq a_j) для кожного (i \neq j).
Підзадача ( балів) : (\sum k \le 2 \cdot 10^5)
Підзадача ( балів): Без додаткових обмежень