const int MOD = 1000000007;

int comb[76][76];
int d[26][26][76];
int e[26][76][26];

class CubeBuilding {
public:
    int getCount(int R, int G, int B, int N) {
        comb[0][0] = 1;
        for (int i = 1; i <= 75; ++i) {
            comb[i][0] = comb[i][i] = 1;
            for (int j = 1; j < i; ++j) {
                comb[i][j] = (comb[i - 1][j - 1] + comb[i - 1][j]) % MOD;
            }
        }

        int m = R + G + B;
        d[0][0][0] = 1;
        for (int i = 1; i <= N; ++i) {
            for (int j = 0; j <= m && j <= 25; ++j) {
                for (int k = j; k <= j * i && k <= m; ++k) {
                    for (int p = 0; p <= j && p <= k; ++p) {
                        d[i][j][k] = (d[i][j][k] + d[i - 1][j][k - p]) % MOD;
                    }
                    for (int p = j - 1; p >= 0; --p) {
                        d[i][j][k] = (d[i][j][k] + d[i - 1][p][k - j]) % MOD;
                    }
                }
            }
        }

        e[0][0][0] = 1;
        for (int i = 1; i <= N; ++i) {
            for (int j = 0; j <= m; ++j) {
                for (int k = 0; k <= m && k <= 25 && k <= j; ++k) {
                    for (int p = 0; p <= j; ++p) {
                        for (int q = 0; q <= k; ++q) {
                            e[i][j][k] = (e[i][j][k] + (long long)e[i - 1][j - p][k - q] * d[N][q][p]) % MOD;
                        }
                    }
                }
            }
        }

        int ans = 0;
        for (int p = 1; p <= R; ++p) {
            long long ccnt = (long long)comb[m - p][G] * comb[m - p - G][B] % MOD;
            ans = (ans + (long long)e[N][m][p] * ccnt) % MOD;
        }
        for (int p = 1; p <= G; ++p) {
            long long ccnt = (long long)comb[m - p][R] * comb[m - p - R][B] % MOD;
            ans = (ans + (long long)e[N][m][p] * ccnt) % MOD;
        }
        for (int p = 1; p <= B; ++p) {
            long long ccnt = (long long)comb[m - p][R] * comb[m - p - R][G] % MOD;
            ans = (ans + (long long)e[N][m][p] * ccnt) % MOD;
        }
        return ans;
    }
};