#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n, m, k;
	cin >> n >> m >> k;
	vector<long long> a(n + 1), b(m + 1);
	for(int i = 0; i < n; i++){
		cin >> a[i + 1];
		a[i + 1] += a[i];
	}
	for(int i = 0; i < m; i++){
		cin >> b[i + 1];
		b[i + 1] += b[i];
	}
	long long ans = 0;
	for(int i = 0; i <= n; i++){
		if(a[i] > k) continue;
		long long tmp = upper_bound(b.begin(), b.end(), k - a[i]) - b.begin();
		ans = max(ans, tmp + i - 1);
	}
	cout << ans << endl;
}
