let n, m, k;
var sumA = [];
var sumB = [];

function getMaxA() {
	for (var i = 0; i < sumA.length; i++) {
		if (sumA[i] <= k) {
			return i;
		}
	}
	return -1;
}

function getB(time) {
	for (var i = 0; i < sumB.length; i++) {
		if (sumB[i] <= time) {
			return i;
		}
	}
	return -1;
}

function getMaxB() {
	for (var i = 0; i <= sumB.length; i++) {
		if (sumB[i] <= k) {
			return i;
		}
	}
}

function getA(time) {
	for (var i = 0; i <= sumA.length; i++) {
		if (sumA[i] <= time) {
			return i;
		}
	}
}

function getResult(a) {
	var time = k;
	time -= sumA[a];
	var b = getB(time);
	const r = n - a + m - b;

	// console.log({
	// 	getResult: "getResult",
	// 	a: a,
	// 	time: time,
	// 	b: b,
	// 	r: r
	// });

	return r;
};

// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	const inputLines = input.split("\n");
	const line0 = inputLines[0];
	const line0vars = line0.split(" ");
	const line1 = inputLines[1];
	const line1vars = line1.split(" ");
	const line2 = inputLines[2];
	const line2vars = line2.split(" ");

	n = parseInt(line0vars[0], 10);
	m = parseInt(line0vars[1], 10);
	k = parseInt(line0vars[2], 10);

	sumA.push(0);
	sumB.push(0);
	for (var i = 0; i < n; i++) {
		const a = parseInt(line1vars[i], 10);
		sumA.push(a + sumA[i]);
	}
	for (var i = 0; i < m; i++) {
		const b = parseInt(line2vars[i], 10);
		sumB.push(b + sumB[i]);
	}

	sumA = sumA.reverse();
	sumB = sumB.reverse();

	var result = 200000 + 200000;

	// console.log({
	// 	n: n,
	// 	m: m,
	// 	k: k,
	// 	sumA: sumA,
	// 	sumB: sumB
	// });

	var maxA = getMaxA();
	var time = k;
	time -= sumA[maxA];
	var b = getB(time);

	var maxB = getMaxB();
	var time2 = k;
	time2 -= sumB[maxB];
	var a = getA(time2);

	// console.log({
	// 	maxA: maxA,
	// 	time: time,
	// 	b: b,
	// 	maxB: maxB,
	// 	time2: time2,
	// 	a: a
	// });

	var result = 0;
	for (var tmpA = maxA; tmpA <= a; tmpA++) {
		const r = getResult(tmpA);
		if (result < r) {
			result = r;
		}
	}
	console.log(result);




	// tmp = input[1].split(" ");
	// //文字列から10進数に変換するときはparseIntを使います
	// var a = parseInt(input[0], 10);
	// var b = parseInt(tmp[0], 10);
	// var c = parseInt(tmp[1], 10);
	// var s = input[2];

	//出力
	// console.log('%d %s',a+b+c,s);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

// node index.js
// 1
// 2 3
// test
// (Ctrl + D)
