#include #include #include using namespace std; int N; int A[3333],B[3333]; vectorD; bool dp[3030][3030]; main() { cin>>N; for(int i=0;i<=N;i++)cin>>A[i]; for(int i=0;i<=N;i++)cin>>B[i]; for(int i=0;i>d;D.push_back(d); } sort(D.begin(),D.end()); reverse(D.begin(),D.end()); int ans=0; dp[0][0]=true; for(int d:D) { for(int i=0;i<=ans;i++) { int j=ans-i; if(i>N||j>N||!dp[i][j])continue; if(i=d) { dp[i+1][j]=true; ans=i+j+1; } } if(j=d) { dp[i][j+1]=true; ans=i+j+1; } } } } cout<