#include #include #include using namespace std; int main(){ int d;cin>>d; for(int i=0;i>n1>>n2; int m;cin>>m; vector v(m); for(int j=0;j>v[j]; } sort(v.begin(),v.end()); int n3=n1+n2; int n4=min(n1,n2); int n5=max(n1,n2); int sum=0; int cut=0; for(int j=0;j=sum+v[j] && n4>=v[j]){ sum+=v[j]; } else { v.erase(v.begin()+j-cut); cut+=1; } } cerr< v2=v; int ans=0; while(1){ for(int k=0;kn4) continue; dp[l+v2[k]]=v2[k]; } } } int check=0; for(int k=n4;k>=n4-diff;--k){ if(dp[k]) check=1; } if(check==1){ ans=v2.size(); break; } else { diff+=v2[v2.size()-1]; v2.erase(v2.end()-1); } } cout<