#P3421. [POI2005] SKO-Knights

[POI2005] SKO-Knights

题目描述

一个骑士在一个无限的棋盘上移动。它可以执行的每一个动作都必须由一对整数 (a,b)(a,b) 来描述——表示这个骑士可以从 (x,y)(x,y) 移动到 (x+a,y+b)(x+a,y+b) 或者 (xa,yb)(x-a,y-b) 。每个骑士都有一组这样的移动描述,表示了骑士可以做出的移动。我们假设每一个骑士从 (0,0)(0,0) 出发移动到的所有位置不共线。

如果他们能从 (0,0)(0,0) 到达完全相同的坐标,我们就说两个骑士是等价的。(让我们指出,相同的骑士可以在不同的动作中到达这些方块)。可以看出,对于每一个骑士,都存在一对(a,b)(a,b),其移动仅由两对数字来描述。

你的任务是写一个程序,读入对骑士移动的表示,确定两对表示等价的骑士移动的整数,并输出这两对整数。

输入格式

第一行读入一个整数 nn,表示有几个骑士(3n1003\le n\le 100)。在以下 nn 行为表示骑士移动的整数对,每一行是一对整数。在这两行中,有两个整数 aia_ibib_i,并由一个空格分隔开,100ai,bi100,(ai,bi)(0,0)-100\le a_i,b_i\le 100,(a_i,b_i)\neq (0,0)

输出格式

第一行输出两个整数 aabb,并由一个空格分隔。

第二行输出两个整数 ccdd,并由一个空格分隔。

上述整数应满足以下条件:10000a,b,c,d10000-10000\le a,b,c,d\le 10000,且输出的两对整数描述的骑士和输入数据中描述的骑士是等价的。

3
24 28
15 50
12 21
3 0
0 1