var n = parseInt(readline());
var line = readline().split(" ");
var arr = [];
for(var i=0;i<n;i++){
arr[i] = parseInt(line[i]);
}
var sum = parseInt(readline());
var left = 0,right = n-1;
var str = "";
while(left<right){
var temp = arr[left]+arr[right];
if(temp<sum){
left++;
}else if(temp>sum){
right--;
}else{
str = arr[left] + " " + arr[right];
break;
}
}
if(str){
console.log(str);
}else{
console.log("notfound");
} const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
ouput: process.stdout
})
let inArr = []
rl.on('line',line=>{
if(!line) return
inArr.push(line.trim())
if(inArr.length === 3){
let arr = inArr[1].split(' ').map(e=>+e)
let sum = +inArr[2]
console.log(twoSum(arr,sum))
}
})
function twoSum (arr, sum) {
let len = arr.length
let i = 0
let j = len - 1
if (len<2) return "notfound"
while(i<j) {
let res = arr[i] + arr[j]
if (res === sum) return [arr[i], arr[j]].join(' ')
if (res > sum) {
j--
}
if (res < sum) {
i++
}
}
return "notfound"
} #include<iostream>
using namespace std;
int main()
{
int k;
scanf("%d",&k);
int a[k];
for(int i = 0; i < k ; i++)
scanf("%d",&a[i]);
int s;
scanf("%d",&s);
int i = 0,j = k - 1;
while(i<j)
{
if(a[i] + a[j] == s)
{
printf("%d %d",a[i],a[j]);
return 0;
}
else if(a[i] + a[j] > s) j -- ;
else i ++ ;
}
printf("notfound\n");
return 0;
} function solve (arr, target) {
let i = 0
let j = arr.length - 1
let first, last
while (i < j) {
first = arr[i]
last = arr[j]
const sum = first + last
if (sum === target) return [first, last]
else if (sum > target) j--
else i++
}
return null
} let length = parseInt(readline()),
arg = readline().split(" "),
sum = parseInt(readline()),
temp = {},// 用来存储遍历过的数字的对象
flag = 0;
for(let i = 0; i < length; i++) {
let a = arg[i];
let b = sum - a;
temp[a] = 0;
if(temp[b] === 0) {
console.log(b+" "+a);
flag = 1;
break;
}
}
if(flag === 0) {
console.log("notfound");
} const n = parseInt(readline());
const arr = readline().split(' ').map(Number);
const target = parseInt(readline());
const test = (arr, target) => {
const map = new Map();
const len = arr.length;
for (let i = 0; i < len; i++) {
if (map.has(arr[i])) {
return [arr[map.get(arr[i])], arr[i]]
} else {
map.set(target - arr[i], i)
}
}
}
const a = test(arr, target);
if (!a || !a.length) {
console.log('notfound');
} else {
console.log(a[0], a[1]);
} #include<iostream>
using namespace std;
int main(void){
int a;
int n;
cin >> a;
int arr[1000000];
for(int i = 0; i < a; i++){
cin >> arr[i];
}
cin >> n;
int begin = 0;
int end = a - 1;
while(begin < end){
if(arr[begin] + arr[end] == n){
cout << arr[begin] << " " << arr[end];
return 0;
}else if(arr[begin] + arr[end] > n){
end--;
}
begin++;
}
cout << "notfound";
return 0;
} function getSum(len, arr, sum) {
if (len < 2) {
return 'notfound'
}
for (var i = 0; i < len; i++) {
for (var j = i + 1; j < len; j++) {
if (arr[i] + arr[j] == sum) {
return arr[i] + ' ' + arr[j]
}
}
}
return 'notfound'
}