#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long double ld; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair i_ll; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v; ll w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; int main() { vector a(3); cin >> a[0] >> a[1] >> a[2]; sort(a.begin(), a.end()); vector dp(8); dp[0] = 1; int N; cin >> N; while (N--) { vector _dp = dp; int x; cin >> x; for (int S = 0; S < 8; S++) { int _S = S; for (int i = 2; i >= 0; i--) { if (S>>i & 1) continue; if (x < a[i]) continue; _S |= 1<