#include using namespace std; typedef long long LL; const int N = 2005; int n; LL a[N], b[N], f[N][N]; // alice problem = 1..i, pts = j, Min(Time) void solve() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) cin >> b[i], b[i] += b[i - 1]; memset(f, 0x3f, sizeof f); f[0][0] = 0; int ans = 0; for (int i = 1; i <= n; i++) for (int j = 0; j <= i; j++) { f[i][j] = f[i - 1][j]; if (j && f[i - 1][j - 1] + a[i] <= b[i]) f[i][j] = min(f[i][j], f[i - 1][j - 1] + a[i]); if (f[i][j] != f[0][1]) ans = max(ans, j); } cout << ans << endl; } int main() { int T; cin >> T; while (T--) { solve(); } return 0; }