#include<bits/stdc++.h>
using namespace std;
const int mod=10007;
vector<int> g[10][25],num[10][20];
int c[1000010],a[1000010];
int main()
{
int n,t,i,j,k,x,z,ans=0;
cin>>n>>t;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
for(i=1;i<=n;i++)
{
cin>>c[i];
g[i%2][c[i]].push_back(a[i]);
num[i%2][c[i]].push_back(i);
}
for(i=1;i<=t;i++)
{
for(j=0;j<g[1][c[i]].size();j++)
{
for(k=j+1;k<g[1][c[i]].size();k++)
{
ans+=(g[1][c[i]][j]+g[1][c[i]][k])*(num[1][c[i]][j]+num[1][c[i]][k]);
ans%=mod;
}
}
for(j=0;j<g[0][c[i]].size();j++)
{
for(k=j+1;k<g[0][c[i]].size();k++)
{
ans+=(g[0][c[i]][j]+g[0][c[i]][k])*(num[0][c[i]][j]+num[0][c[i]][k]);
ans%=mod;
}
}
}
cout<<ans;
return 0;
}