1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 
 6 int sr,sb,sg,n,m,p,ans;
 7 int a[70][70],f[70][70][70],d[70];
 8 bool b[70];
 9 
10 int dp(int x)
11 {
12     memset(b,0,sizeof(b));
13     int sum=0,t;
14     for(int i=1;i<=n;i++)
15         if(!b[i])
16         {
17             d[++sum]=1;t=i;
18             b[t]=1;
19             while(!b[a[x][t]])
20             {
21                 d[sum]++;
22                 b[a[x][t]]=1;
23                 t=a[x][t];
24             }
25         }
26     memset(f,0,sizeof(f));
27     f[0][0][0]=1;
28     for(int h=1;h<=sum;h++)
29         for(int i=sr;i>=0;i--)
30             for(int j=sb;j>=0;j--)
31                 for(int k=sg;k>=0;k--)
32                 {
33                     if(i>=d[h]) f[i][j][k]=(f[i][j][k]+f[i-d[h]][j][k])%p;
34                     if(j>=d[h]) f[i][j][k]=(f[i][j][k]+f[i][j-d[h]][k])%p;
35                     if(k>=d[h]) f[i][j][k]=(f[i][j][k]+f[i][j][k-d[h]])%p;
36                 }
37     return f[sr][sb][sg];
38 }
39 
40 int exgcd(int a,int b,int &x,int &y)
41 {
42     if(b==0)
43     {
44         x=1;y=0;
45         return a;
46     }
47     int q=exgcd(b,a%b,y,x);
48     y-=a/b*x;
49     return q;
50 }
51 
52 int main()
53 {
54     scanf("%d %d %d %d %d",&sr,&sb,&sg,&m,&p);
55     n=sr+sb+sg;
56     for(int i=1;i<=m;i++)
57         for(int j=1;j<=n;j++)
58             scanf("%d",&a[i][j]);
59     m++;
60     for(int i=1;i<=n;i++) a[m][i]=i;
61     for(int i=1;i<=m;i++)
62         ans=(ans+dp(i))%p;
63     int x,y;
64     exgcd(m,p,x,y);
65     while(x<=0) x+=p,y-=m;
66     printf("%d",ans*x%p);
67     return 0;
68 }