我们得到了一张(醉酒后的)星空图像,这是一个醉汉深夜躺在草地上看到的景象。他的图像是一张原始(清醒)图像与该图像经过某个固定的非零向量 $(X, Y)$ 平移后的副本的混合。不幸的是,醉汉本人以及我们都无法获得原始的清醒图像或平移向量。
出于人道主义,我们需要将他看到的图像恢复成清醒的市民所看到的版本。
给定一张图像,请编写一个程序,计算存在多少个不同的向量 $(X, Y)$,使得该醉酒图像可以由某张原始清醒图像与其经过该向量平移后的副本合并而成。
注意,如果两个不同的星星(一个在原始图像中,另一个在其平移后的副本中)在混合图像中重合,那么作为程序输入的醉酒图像在该位置仅包含一个点。
输入格式
输入的第一行包含一个整数 $N$ ($0 < N \le 1000$),表示混合(醉酒)图像中星星的数量。接下来有 $N$ 行,每行包含两个空格分隔的整数 $X_i, Y_i$ ($-1000 \le X_i, Y_i \le 1000$),描述一颗星星的位置。所有星星都被视为没有维度的点。
输出格式
输出可以应用于某张未知的清醒图像以产生输入的醉酒图像的、长度非零的不同向量的数量。对于不同的情况,未知的原始图像可能不同。
样例
样例输入 1
5 0 0 1 1 2 2 2 0 3 1
样例输出 1
2
样例输入 2
3 0 0 0 1 1 0
样例输出 2
0