#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;
}