const Main = input => {
    input = input.split("\n");
    const nmk = input[0].split(" ").map(value => parseInt(value, 10));
    const n = nmk[0];
    const m = nmk[1];
    const k = nmk[2];
    const a = input[1].split(" ").map(value => parseInt(value, 10));
    const b = input[2].split(" ").map(value => parseInt(value, 10));

    let time = 0;
    let count = 0;

    // 与えられた配列の0番目の本を読む
    const read = arr => {
        // aの一番上の本を読む
        time += arr[0];

        //読んだら取り除く
        arr.shift();

        // 読んだ本の数を増やす
        count++;
    }

    for(let i = 0; i < n + m; i++) {
        // どちらの本も読み切っている場合
        if(a.length === 0 && b.length === 0) break;
        
        // Aの本がない場合
        if(a.length === 0) {
            // Bの本を読んでk分を超えるなら詰みなので脱出
            if(time + b[0] > k) break;
            read(b);
        }
        // Bの本がない場合
        else if(b.length === 0) {
            // Aの本を読んでk分を超えるなら詰みなので脱出
            if(time + a[0] > k) break;
            read(a);
        }
        // まだどちらの本もある場合
        else {
            // どちらの本を読んでもk分を超えるなら詰みなので脱出
            if(time + a[0] > k && time + b[0] > k) break;

            if(a[0] <= b[0]) {
                // aの一番上の本を読む
                read(a);
            } else {
                // bの一番上の本を読む
                read(b);
            }
        }
    }

    console.log(count);
}
 
Main(require("fs").readFileSync("/dev/stdin", "utf8"));