#include<bits/stdc++.h>
using namespace std;
const int Max_N=1e5+10;
const int Mod=1e4+7;
long long N,M,Ans;
long long Num[Max_N],Color[Max_N];
vector<long long>R[Max_N][2];
int main(){
cin>>N>>M;
for(int i=1;i<=N;i++) cin>>Num[i];
for(int i=1;i<=N;i++){
cin>>Color[i];
R[Color[i]][i%2].push_back(i);
}
for(int i=1;i<=M;i++){
for(int j=0;j<2;j++){
int len=R[i][j].size();
for(int p=0;p<len;p++){
for(int q=p+1;q<len;q++){
Ans=(Ans+(R[i][j][p]+R[i][j][q])*(Num[R[i][j][p]]+Num[R[i][j][q]]))%Mod;
}
}
}
}
cout<<Ans<<endl;
return 0;
}