#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define BET(a,b,c) ((a)<=(b)&&(b)<(c)) #define FOR(i,n) for(int i=0,i##_end=(int(n));i VI; typedef vector VVI; int main() { int N; cin>>N; VI A(N); FOR(i,N) cin>>A[i]; int M; cin>>M; VI B(M); FOR(i,M) cin>>B[i]; sort(ALL(B), greater()); const int inf = 1<<28; VI dp(1< v) break; } if(sum <= v){ pattern.push_back(i); } } for(int i=(1<=0;i--){ for(auto p : pattern){ if(i & p) continue; dp[i|p] = min(dp[i|p], dp[i] + 1); } } } cout<<(dp[(1<