#include
const int Max_N = 100;
int N;
int position[Max_N];//输入位置
int a[Max_N/2]; //两两位置间距
void solve()
{
//初始化a[]
int len = 0;
for( int i=0; i+1
{//计算两两间距
a[len++] = position[i+1] - position[i] - 1;
}
if( N%2 ) a[len] = 0; //位置为奇数
else len--; //len为最大下标
int k = a[0]; //计算异或
for( int i=1; i<=len; i++)
{
k ^= a[i];
}
if( k==0 )
{//P-position局面 先手必败
printf("%d\n",-1);
return;
}
for( int i=0; i<=len; i++)
{
int a_ = a[i]^k; //从小到大一次判断
if( a_
{//间距减小 2*i位置向前移动
printf("%d %d\n",position[2*i], position[2*i]+a[i]-a_);
return;
}
if( a_>a[i]&&i
{//间距增大 2*i+1向前移动
int length = position[2*i+2] - position[2*i+1] - 1;
if( a_-a[i] < length )
{
printf("%d %d\n",position[2*i+1], position[2*i+1]+a_-a[i] );
return;
}
}
}
}
int main()
{
N = 0;
while( scanf("%d",&position[N++])!=EOF );
N--; //N是position[]长度 因为多加了一个EOF(-1)所以再减去
solve();
return 0;
}
//输入结束判定是EOF 如果要自己验证可以读入文件 或者用Ctrl+z表示输入结束