#include #include #include #include #include #include using namespace std; int main() { int n; vector family(3); cin >> family[0] >> family[1] >> family[2] >> n; vector e(n); for (int i = 0; i < n; i++) { cin >> e[i]; } sort(family.begin(), family.end()); sort(e.begin(), e.end()); vector> dp(n + 1, vector(4, 0)); dp[0][0] = 1; for (int i = 0; i < n; i++) { // e[i] 持たない for (int j = 0; j < 4; j++) { dp[i+1][j] += dp[i][j]; } // e[i]もつ if (family[2] <= e[i]) { dp[i+1][1] += dp[i][0]; dp[i+1][2] += dp[i][1]; dp[i+1][3] += dp[i][2]; } else if (family[1] <= e[i]) { dp[i+1][1] += dp[i][0]; dp[i+1][2] += dp[i][1]; dp[i+1][2] += dp[i][2]; } else if (family[0] <= e[i]) { dp[i+1][1] += dp[i][0]; dp[i+1][1] += dp[i][1]; dp[i+1][2] += dp[i][2]; } else { dp[i+1][0] += dp[i][0]; dp[i+1][1] += dp[i][1]; dp[i+1][2] += dp[i][2]; } dp[i+1][3] += dp[i][3]; } cout << dp[n][3] << endl; // for (auto v : dp) { // for (auto e : v) { // printf("%3d ", e); // } // printf("\n"); // } return 0; }