@ans=(n−2)∑(xiwi)+∑xi∑wi
#include<iostream>
using namespace std;
const int N=100010,mod=10007;
//w[i]表示第i个格子的数字
//color[i]表示第i个格子的颜色
int w[N], color[N];
//sum[i][0]表示颜色为i、编号为偶数的格子上数字的前缀和
//cnt[i][0]表示颜色为i、编号为偶数的格子的个数
int sum[N][2], cnt[N][2];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>w[i];
for(int i=1;i<=n;i++){
cin>>color[i];
sum[color[i]][i%2]=(sum[color[i]][i%2]+w[i])%mod;
cnt[color[i]][i%2]++;
}
long long ans=0;
for(int i=1;i<=n;i++){
ans=(ans+i*((cnt[color[i]][i%2]-2)*w[i]%mod+sum[color[i]][i%2]))%mod;
}
cout<<ans<<endl;
}