#include using namespace std; using ll=long long; using ld=double; #define FOR(i,a,b) for(ll i=a;i<(ll)b;++i) #define F(n) FOR(i,0,n) #define FF(n) FOR(j,0,n) #define aa first #define bb second #define PB push_back #define EQ(a,b) (fabs(a-b)<=(fabs(a+b)*EPS)) #define MOD 1000000007 inline ll d(ll n) { return n >= MOD ? n%MOD : n; } inline ll mpow(ll b, ll ex=MOD-2) { if (b==1) return 1; ll r = 1; while (ex) { if(ex&1)r = (r*b)%MOD; ex >>= 1; b = (b*b)%MOD; } return r; } ll Cmod(ll n, ll k, ll p=MOD) { ll top = 1; ll bottom = 1; for (ll i = n; i > k; -- i) { top *= i; top %= p; } for (ll i = n-k; i > 0; -- i) { bottom *= i; bottom %= p; } return ((top % p) * (mpow(bottom, p-2) % p)) % p; } int main(){ ios::sync_with_stdio(0);cout.tie(0);cin.tie(0); ll a, b, k, c; cin >> a >> b >> k >> c; if (a != c && b != c) { cout << 0 << endl; return 0; } ll res = 0; for (int i = 1; i <= k; ++ i) { res += d(d(Cmod(k, i) * i)); res = d(res); //cout << Cmod(k, i) << endl; } cout << res << endl; return 0; }