#include <fstream>
#include <iostream>
using namespace std;
#define MOD 10007
int main(){
int n, m, sum=0;
int color[100010], number[100010];
int subSum[2][100010][4];
cin >> n >> m;
for(int i = 1; i <= n; i ++){
cin >> number[i];
number[i] %= MOD;
}
for(int i = 1; i <= n; i ++){
cin >> color[i];
color[i] %= MOD;
}
for(int i = 1; i <= n; i ++){
subSum[i % 2][color[i]][0] = (subSum[i % 2][color[i]][0] + i) % MOD;
subSum[i % 2][color[i]][1] = (subSum[i % 2][color[i]][1] + number[i]) % MOD;
subSum[i % 2][color[i]][2] = (subSum[i % 2][color[i]][2] + 1) % MOD;
subSum[i % 2][color[i]][3] = (subSum[i % 2][color[i]][3] + i * number[i]) % MOD;
}
for(int i = 1; i <= m; i ++)
sum = (sum + (subSum[0][i][0] * subSum[0][i][1]) % MOD + ((subSum[0][i][2] - 2)*subSum[0][i][3]) % MOD + (subSum[1][i][0] * subSum[1][i][1]) % MOD + ((subSum[1][i][2] - 2)*subSum[1][i][3]) % MOD) % MOD;
cout << sum << endl;
return 0;
}
/**************************************************************
Problem: 2342
User: addmmiinn
Language: C++
Result: Accepted
Time:265 ms
Memory:5860 kb
****************************************************************/