#include <bits/stdc++.h>
using namespace std;
long long read()
{
long long x=0,f=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
void write(long long x)
{
if(x<0)
putchar('-'),x=-x;
if(x>9)
write(x/10);
putchar(x%10+'0');
}
int main()
{
long long n=read(),m=read(),col[100001]={0},num[100001]={0},ans=0;
for(int i=1;i<=n;i++)
num[i]=read();
for(int i=1;i<=n;i++)
col[i]=read();
for(int i=1;i<=n-2;i++)
for(int j=1;j<=(n-i)/2;j++)
{
if(i+2*j>n)
break;
if(col[i]==col[i+2*j])
{
ans+=(i+i+2*j)*(num[i]+num[i+2*j]);
ans%=10007;
}
}
write(ans);
return 0;
}