#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long p[200020], e[200020], a[200020], h[200020]; int main() { long long n, k, m; cin >> n >> k >> m; for (int i = 0; i < n; i++) { cin >> p[i]; } for (int i = 0; i < n; i++) { cin >> e[i]; } for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { cin >> h[i]; } sort(p, p + n); sort(e, e + n); sort(a, a + n); sort(h, h + n); long long ans = 0; for (int i = 0; i < n; i++) { long long x = max({ p[i],e[i],a[i],h[i] }) - min({ p[i],e[i],a[i],h[i] }); long long y = k; long long ans1 = 1; while (y > 0) { if ((y & 1) == 1) { ans1 = ans1 * x % m; } x = x * x % m; y >>= 1; } ans += ans1; ans %= m; } cout << ans << endl; }