#include using namespace std; long long modpow(long long a, long long b, long long MOD){ long long ans = 1; while (b > 0){ if (b % 2 == 1){ ans *= a; ans %= MOD; } a *= a; a %= MOD; b /= 2; } return ans; } int main(){ int N, K, M; cin >> N >> K >> M; vector> A(4, vector(N)); for (int i = 0; i < 4; i++){ for (int j = 0; j < N; j++){ cin >> A[i][j]; } } for (int i = 0; i < 4; i++){ sort(A[i].begin(), A[i].end()); } long long ans = 0; for (int i = 0; i < N; i++){ int X = max({A[0][i], A[1][i], A[2][i], A[3][i]}); int Y = min({A[0][i], A[1][i], A[2][i], A[3][i]}); ans += modpow(X - Y, K, M); ans %= M; } cout << ans << endl; }