#include using namespace std; const long long inf = 1000000000000000001; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin >> T; while(T--) { int n; cin >> n; vector a(n); for(int i = 0; i < n; ++i) { cin >> a[i]; } vector b(n); for(int i = 0; i < n; ++i) { cin >> b[i]; } vector pre(n); pre[0] = b[0]; for(int i = 0; i + 1 < n; ++i) { pre[i + 1] = pre[i] + b[i + 1]; } vector > dp(n + 1, vector (n + 1, inf)); dp[0][0] = 0; for(int i = 0; i < n; ++i) { for(int j = 0; j <= i; ++j) { dp[i + 1][j] = min(dp[i + 1][j], dp[i][j]); if(dp[i][j] < inf && pre[i] >= dp[i][j] + a[i]) { dp[i + 1][j + 1] = min(dp[i + 1][j + 1], dp[i][j] + a[i]); } } } for(int i = n; i >= 0; --i) { if(dp[n][i] < inf) { cout << i << '\n'; break; } } } return 0; }