#include #include #define rep(i, n) for(int i = 0; i < (n); ++i) using namespace std; int b[3]; int n; int e[30]; int dp[31][4]; int main(){ rep(i, 3){ scanf("%d", &b[i]); } scanf("%d", &n); rep(i, n){ scanf("%d", &e[i]); } sort(b, b + 3); sort(e, e + n); dp[0][0] = 1; for(int i = 1; i <= n; ++i){ int k = upper_bound(b, b + 3, e[i - 1]) - b; rep(j, 4){ if(j > k){ dp[i][j] = dp[i - 1][j] * 2; } else if(j < k){ dp[i][j] = dp[i - 1][j] + (j > 0 ? dp[i - 1][j - 1] : 0); } else{ dp[i][j] = dp[i - 1][j] * 2 + (j > 0 ? dp[i - 1][j - 1] : 0); } } } printf("%d\n", dp[n][3]); return 0; }