#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
****************************************************************/