#include using namespace std; using LL = long long; using ULL = unsigned long long; #define rep(i,n) for(int i=0; i<(n); i++) ULL powm(ULL a,ULL i,ULL m){ ULL r=1; while(i){ if(i%2) r=r*a%m; a=a*a%m; i/=2; } return r; } int N,K,M; int A[4][200000]; int main() { scanf("%d%d%d",&N,&K,&M); rep(i,4){ rep(j,N) scanf("%d",&A[i][j]); sort(A[i],A[i]+N); } ULL ans=0; rep(i,N){ int x[4]; rep(j,4) x[j]=A[j][i]; sort(x,x+4); ans+=powm(x[3]-x[0],K,M); } ans%=M; printf("%llu\n",ans); return 0; }