#include using namespace std; #define int long long int dp[50][4]; //i個目までにj個必要なシートを持って行った場合の数 signed main(){ cin.tie(0); ios::sync_with_stdio(false); vector A(3); for(int i = 0; i < 3; i++) cin >> A[i]; int n; cin >> n; vector E(n); for(int i = 0; i < n; i++){ cin >> E[i]; } sort(A.rbegin(),A.rend()); sort(E.rbegin(),E.rend()); dp[0][0] = 1; for(int i = 0; i < n; i++){ for(int j = 0; j < 4; j++){ if(j < 3 && E[i] >= A[j]){ dp[i+1][j+1] += dp[i][j]; dp[i+1][j] += dp[i][j]; } else { dp[i+1][j] += dp[i][j] * 2; } } } cout << dp[n][3] << endl; return 0; }