#include<map>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
unsigned long long num[100005]={0};
unsigned long long color[100005]={0};
unsigned long long score=0;
int i=1,n,m;
cin>>n>>m;
for(int o=1;o<=n;o++){
cin>>num[o];
}
num[0]=0;
for(int o=1;o<=n;o++){
cin>>color[o];
}
//处理
for(i=1;i<=n;i++)
{
num[i]+=num[i-1];
for(int j=i-2;j>=1;j--){
if(color[j]==color[i]&&i!=j&&((i+j)%2==0)){
score+=(i+j)*(num[i]-num[i-1]+num[j]-num[j-1]);
score%=10007;
}
}
}
cout<<score;
return 0;
}