#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int mxN=3e5+5,mxK=1e6+5;
int n,m,k;
int a[mxN],C[mxK],pre[mxN];
ll S[mxN];
bool isqry[mxN];
int main()
{
cin>>n>>m>>k;
for(int i=1,tmp;i<=m;i++)
{
scanf("%d",&tmp);
isqry[tmp]=1;
}
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
a[i]%=k;
S[i]=S[i-1]+a[i];
}
pre[0]=0;
for(int i=1;i<=n;i++) pre[i]=pre[i-1]+(isqry[i]&&S[i]%k==0);
int ans=pre[n];
for(int i=n;i>=1;i--)
{
int cur=pre[i-1]+C[S[i]%k];
if(isqry[i]) C[S[i]%k]++;
ans=max(ans,cur);
}
cout<<ans;
return 0;
}