#include using namespace std; int n, t; long long a[2010], b[2010]; long long d[2010][2010]; int main() { scanf("%d", &t); while (t--) { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%lld", a + i); for (int i = 1; i <= n; i++) scanf("%lld", b + i), b[i] += b[i - 1]; memset(d, 0x3f, sizeof d); d[0][0] = 0; for (int i = 1; i <= n; i++) { for (int j = 0; j <= n; j++) { d[i][j] = min(d[i][j], d[i - 1][j]); if (d[i - 1][j] + a[i] <= b[i]) d[i][j + 1] = min(d[i][j + 1], d[i - 1][j] + a[i]); } } int ans = 0; for (int i = 1; i <= n; i++) for (int j = 0; j <= n; j++) if (d[i][j] <= 1e14) ans = max(ans, j); printf("%d\n", ans); } }