# 数组元素的目标和 - 双指针

#include <iostream>
#include <algorithm>

using namespace std;

const int N = 1e6 + 10;

int n, m, q;
int a[N], b[N];

int main(){
	scanf("%d %d %d", &n, &m, &q);
	for(int i = 0; i < n; i++)
		scanf("%d", &a[i]);
	for(int i = 0; i < m; i++)
		scanf("%d", &b[i]);
	for(int i = 0, j = m - 1; i < n; i++){
		while(j >= 0 && a[i] + b[j] > q) j--;
		if(a[i] + b[j] == q){
			printf("%d %d\n", i, j);
			break;
		}
	}
	return 0;
}
#include <iostream>
#include <algorithm>

using namespace std;

const int N = 1e6 + 10;

int n, m, q;
int a[N], b[N];

int main(){
    scanf("%d %d %d", &n, &m, &q);
    
    for(int i = 0; i < n; i++)
        scanf("%d", &a[i]);

    for(int i = 0; i < m; i++)
        scanf("%d", &b[i]);
        
    // for(int i = 0; i < n; i++){
    //     for(int j = 0; j < m; j++){
            // if(a[i] + b[j] == q) printf("%d %d", i, j);
    //     }
    // }
    //暴力
    
    for(int i = 0, j = m - 1; i < n; i++){
        while(j >= 0 && a[i] + b[j] > q)j--;
        if(a[i] + b[j] == q){
            printf("%d %d\n", i, j);
            break;
            //因为这题只有一组解 所以可以不break
        }
    }
    //双指针找单调性 i变大 j变小
    return 0;
}