1 #include<cstdio>
2 #include<iostream>
3 #include<cmath>
4 #include<cstring>
5 using namespace std;
6 const long long mo=1000000007;
7 const long long N=200010;
8 long long n,m,r,c,s,ans,a[200010],b[200010];
9 long long C(int x,int y) { return a[x]*b[y]%mo*b[x-y]%mo; }
10 long long C1(int x,int y) { return !y?1:C(x+y-1,y-1); }
11 void calc(int i,int j) { if (((r-i)%2==0)&&((c-j)%2==0)) ans=(ans+C(n,i)*C(m,j)%mo*C1((r-i)/2,n)%mo*C1((c-j)/2,m)%mo)%mo; }
12 int main()
13 {
14 scanf("%lld%lld%lld%lld%lld",&n,&m,&r,&c,&s);
15 a[0]=b[0]=b[1]=1;
16 for (int i=1;i<N;i++) a[i]=a[i-1]*i%mo;
17 for (int i=2;i<N;i++) b[i]=(mo-mo/i)*b[mo%i]%mo;
18 for (int i=2;i<N;i++) b[i]=(b[i]*b[i-1])%mo;
19 for (long long i=0;i<=min(r,n);i++)
20 if (i*2==n)
21 {
22 if (i*m==s) for (long long j=0;j<=min(c,m);j++) calc(i,j);
23 }
24 else
25 if ((s-i*m)%(n-2*i)==0)
26 {
27 long long j=(s-i*m)/(n-2*i);
28 if (j>=0&&j<=min(c,m)) calc(i,j);
29 }
30 printf("%lld",ans);
31 return 0;
32 }