#include #include #include using namespace atcoder; using mint = modint1000000007; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000000 int main(){ int N; cin>>N; int A; cin>>A; vector a(A); rep(i,A)cin>>a[i]; int C; cin>>C; vector c(C); rep(i,C)cin>>c[i]; mf_graph G(A+C+2+2); int S = A+C+2,T = A+C+3; rep(i,A){ G.add_edge(S,i,N/A); G.add_edge(A+C, i, 1); } rep(i,C){ G.add_edge(A+i,T,N/C); G.add_edge(A+i,A+C+1,1); } G.add_edge(S,A+C,N%A); G.add_edge(A+C+1,T,N%C); rep(i,A){ rep(j,C){ if(a[i]>c[j])G.add_edge(i,A+j,100); } } cout<