#include<bits/stdc++.h>
using namespace std;
const int M=10007;
int n,m;
unsigned long long ans;
struct node
{
int num,col;
}pai[100005];
int geshu[100005];
int las[100005][25];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>pai[i].num ;
}
for(int i=1;i<=n;i++)
{
cin>>pai[i].col ;
las[pai[i].col ][++geshu[pai[i].col ]]=i;
}
for(int i=1;i<=n;i++)
{
for(int p=1;p<=geshu[pai[i].col];p++)
{
int j=las[pai[i].col ][p];
if(j>i+1&&(j-i)%2==0)
{//cout<<ans<<endl;
ans+=(i+j)*(pai[i].num +pai[j].num );
ans%=M;
}
}
}
cout<<ans%M;
return 0;
}