#include using namespace std; #define rep(i,n) for(int (i) = 0 ; (i) < (int)(n) ; (i)++) #define REP(i,a,b) for(int (i) = a ; (int)(i) <= (int)(b) ; (i)++) #define all(n) (n).begin(),(n).end() typedef long long ll; typedef vector Vi; typedef vector VVi; typedef pair Pii; typedef vector VPii; int A[10],B[10]; vector item[10]; int dp[10][1<<10]; int dfs(int x,int bit){ if( x < 0 ) return bit == 0 ? 0 : 1e9; if( dp[x][bit] != -1 ) return dp[x][bit]; int ans = dfs(x-1,bit); for( auto i : item[x] ) if( (bit&i) == i ) { ans = min(ans,dfs(x-1,bit-i)+1); } return dp[x][bit] = ans; } int main(){ int N; cin >> N; rep(i,N) cin >> A[i]; int M; cin >> M; rep(i,M) cin >> B[i]; rep(i,M)rep(j,1<>k&1); if(t<=B[i]){ item[i].push_back(j); } } memset(dp,-1,sizeof(dp)); int ans = dfs(M-1,(1< 114514 ) cout << -1 << endl; else cout << ans << endl; }