Matsum

Time limit: 0.35s Memory limit: 256MB Input: Output:

Se dau două numere întregi N,MN, M și două șiruri de numere întregi nenegative PP, de NN elemente, și QQ, de MM elemente. Se definește apoi matricea AA cu NN linii și MM coloane, unde elementul Ai,jA_{i,j} de pe linia ii și coloana jj este definit de relația

Ai,j=(PiQj) xor Pi xor Qj \displaystyle A_{i,j} = (P_i \cdot Q_j) \text{ xor } P_i \text{ xor } Q_j

Operatorul xor reprezintă sau-ul exclusiv pe biți, scris ^ în C++.

Definim valoarea S(a,b,c,d)S(a, b, c, d), pentru 1abN1 \le a \le b \le N, 1cdM1 \le c \le d \le M, astfel:

S(a,b,c,d)=i=abj=cdAi,j \displaystyle S(a, b, c, d) = \sum_{i=a}^{b} \sum_{j=c}^{d} A_{i,j}

Akane este o fire mai curioasă, și vrea să afle următoarea valoare:

1abN1cdMS(a,b,c,d)2 \displaystyle \sum_{1 \le a \le b \le N} \sum_{1 \le c \le d \le M} {S(a, b, c, d)}^2

O puteți ajuta să calculeze această valoare, modulo 109+710^9 + 7?

Date de intrare

Pe primul rând se găsesc numerele N,MN, M, cu semnificația din enunț. Pe al doilea rând se găsesc NN numere, elementele șirului PP. Pe al treilea rând se găsesc MM numere, elementele șirului QQ.

Date de ieșire

Se va afișa pe primul rând un număr întreg reprezentând valoarea cerută, modulo 109+710^9 + 7.

Restricții

  • 1N,M2 0001 \le N, M \le 2 \ 000.
  • 0Pi,Qj1040 \le P_i, Q_j \le 10^4, pentru 1iN;1jM1 \le i \le N; 1 \le j \le M.

Subtask 1 (30 puncte)

  • 1N,M301 \le N, M \le 30.

Subtask 2 (40 puncte)

  • 1N,M3001 \le N, M \le 300.

Subtask 3 (30 puncte)

  • Fără restricții suplimentare

Exemple

stdin

3 1
1 1 1
0

stdout

20

stdin

3 1
1 2 3
0

stdout

84

stdin

3 2
1 2 3
1 2

stdout

912

Explicații

Pentru primul exemplu avem ca A=[111]A = \begin{bmatrix} 1 \\ 1 \\ 1 \\ \end{bmatrix}.
Vor fi 33 submatrici formate dintr-un singur element care vor avea valoarea SS egală cu 11, 22 submatrici formate din 22 elemente care vor avea valoarea SS egală cu 22=42^2 = 4 și în cele din urma, matricea întreagă care va avea valoarea 32 = 9. Însumând aceste valori obținem 13+24+19=201 \cdot 3 + 2 \cdot 4 + 1 \cdot 9 = 20. 20 modulo 109+720 \text{ modulo } 10^9 + 7 este chiar 2020.
Pentru ultimul exemplu, A=[111417] A = \begin{bmatrix} 1 & 1 \\ 1 & 4 \\ 1 & 7 \\ \end{bmatrix}.

Log in or sign up to be able to send submissions!