#include using namespace std; typedef long long int ll; typedef double ld; typedef pair ii; typedef vector vi; typedef vector vii; #define PB push_back #define ff first #define ss second #define MP make_pair #define FOR(prom, a, b) for ( ll prom = (a); prom < (ll)b; ++prom) #define F(a) FOR(i,0,a) #define FF(a) FOR(j, 0, a) #define EPS (1e-10) #define EQ(a, b) (fabs(a-b) <= fabs(a+b)*EPS) #define LINF (1<<62LL) #define DEB(x) cerr << ">>> " << #x << " ; " << x << "\n" ld pyt(ld a,ld b) { return sqrt(a*a + b*b); } int main() { int n, hvezdy[1008][2]; ll pocet,pocetnovy,uzmame; ld uhlystare[1008],uhlynove[1008],vzdalenostistare[1008],vzdalenostinove[1008]; ld s1,s2,uhel,vzdalenost; cin >> n; F(n) cin >> hvezdy[i][0] >> hvezdy[i][1]; pocet = n-1; FOR(i,1,n) { s1=hvezdy[0][0] - hvezdy[i][0]; s2=hvezdy[0][1] - hvezdy[i][1]; uhlystare[i-1] = s1?tan(s2/s1):999999; vzdalenostistare[i-1] = pyt(s1,s2); } FOR(i,1,n) { pocetnovy=0; FOR(j,0,n) if(i!=j) { //cerr << "porovnavame hvezdy " << i << " - " << j << "\n"; //cerr << "uhly stare: \n"; //FOR(u,0,pocet) cerr << uhlystare[u] << " - " << vzdalenostistare[u] << "\n"; //cerr << "-------\n"; s1=hvezdy[j][0] - hvezdy[i][0]; s2=hvezdy[j][1] - hvezdy[i][1]; uhel = s1?tan(s2/s1):999999; vzdalenost = pyt(s1,s2); uzmame = 0; FOR(k,0,pocetnovy) if(EQ(uhel,uhlynove[k]) && EQ(vzdalenost,vzdalenostinove[k])) uzmame=1; if(!uzmame) FOR(k,0,pocet) if(EQ(uhel,uhlystare[k]) && EQ(vzdalenost,vzdalenostistare[k])) { //DEB(vzdalenost); //DEB(uhel); //DEB(pocetnovy); uhlynove[pocetnovy] = uhel; vzdalenostinove[pocetnovy] = vzdalenost; pocetnovy++; break; } } FF(pocetnovy) { uhlystare[j]=uhlynove[j]; vzdalenostistare[j]=vzdalenostinove[j]; } pocet = pocetnovy; } cout << pocet * 2 << "\n"; return 0; }