#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
const int mod=10007;
typedef long long ll;
int n,m,w[N],c[N];
map<int,vector<int>> d1,d2;
set<int> v1,v2;
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>w[i];
}
for(int i=1;i<=n;i++){
cin>>c[i];
if(i%2==0){
d2[c[i]].push_back(i);
v2.insert(c[i]);
}
else{
d1[c[i]].push_back(i);
v1.insert(c[i]);
}
}
int ans=0;
for(int c:v1){
if(d1[c].size()<=1)continue;
int sum=0;
int pl=d1[c].size()-2;
for(int j:d1[c]){
sum+=j;
}
for(int j:d1[c]){
ans+=w[j]*(sum+pl*j)%mod;
}
}
for(int c:v2){
if(d2[c].size()<=1)continue;
int sum=0;
int pl=d2[c].size()-2;
for(int j:d2[c]){
sum+=j;
}
for(int j:d2[c]){
ans+=w[j]*(sum+pl*j)%mod;
}
}
cout<<ans;
}