n = int(input())
##首先读取输入的行数n
ids = []
## 然后逐行读取数据,将每行的多个 ID 号转换为整数列表
for _ in range(n):
l = list(map(int, input().split()))
ids.extend(l)
## 使用extend方法将所有 ID 号合并到一个列表ids中
id = set()
## 利用集合id的特性(元素唯一)来检测重号
r = -1
## 遍历所有 ID 号,若当前号码已在集合中,说明是重号,记录到r
for u in ids:
if u in id:
r = u
id.add(u)
## 无论是否重复,都将号码加入集合,用于后续查找断号
s = sorted(id)
## 先将去重后的 ID 号排序,便于检查连续性
m = -1
## 遍历排序后的 ID,若相邻两个 ID 的差值大于 1,说明中间有断号
for i in range(1, len(s)):
if s[i] - s[i - 1] > 1:
m = s[i - 1] + 1
## 断号的值为 "前一个 ID + 1",记录到m
break
print(m, r)
## 按格式输出找到的断号和重号