编程题
### 问题描述
小明和小红是两个火影忍者迷,他们经常在二维坐标系上画出火影忍者中的场景。为了让场景更加逼真,他们需要在坐标系上选择一些点,然后画出一个圆,使得坐标系的原点在圆的边上。
他们希望这个他们选择的点能尽可能多的落在圆的边上,但他们很纠结,不知道要选择哪些点才能让圆边上包含的点最多。你能帮助他们吗?
给定 $n$ 个点的坐标 $(x_i, y_i)$,请你找出一个圆,使得坐标系的原点在圆边上,且圆边上包含的点最多。
请你求出圆上能包含的点的最大个数。
### 输入格式
第一行包含一个整数 $n$($1\leq n \leq 10^3$),表示点的个数。
接下来 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$($\lvert x_i\rvert,\lvert y_i \rvert \leq 2\times 10^3$),表示第 $i$ 个点的坐标。
### 输出格式
一个整数,表示圆上包含的点的最大个数。
### 样例输入
```
4
1 0
0 1
-1 0
0 -1
```
### 样例输出
```
2
```