#include #include #include #define MN 2000 typedef long long LL; int n,a[MN+5],b[MN+5]; LL f[MN+5]; LL preb[MN+5]; void solve(){ memset(f,0x7f,sizeof(f)); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++){ scanf("%d",&b[i]); preb[i] = preb[i-1]+b[i]; } f[0] = 0; for(int i=1;i<=n;i++){ for(int j=i;j>=1;j--){ if(preb[i]>=f[j-1]+a[i]) f[j] = std::min(f[j],f[j-1]+a[i]); } } for(int i=n;i>=1;i--) if(f[i] != 0x7f7f7f7f7f7f7f7f){ printf("%d\n",i); break; } } int main(){ int T; scanf("%d",&T); while(T--) solve(); }