#include <bits/stdc++.h>
#define mod 1000000007
using namespace std;
int st(int n){
    int s=1 ;
    for(int i=1; i<=n ; i++){
        s*=2 ;
    }
    return s ;
}
int main()
{
    long long n ;
    cin >> n  ;
    pair<long,long> kord[n+1] ;
    for(int i=1 ; i<=n ; i++){
        cin >> kord[i].first >> kord[i].second ;
    }
    long long rez=0 ;
    for(int i=1 ; i<=n-2 ; i++){
        for(int j=i+1; j<=n-1 ; j++){
            for(int k=j+1 ; k<=n ; k++){
                if(abs(kord[i].first*(kord[j].second-kord[k].second)+kord[j].first*(kord[k].second-kord[i].second)+kord[k].first*(kord[i].second-kord[j].second))==(abs(kord[i].first*kord[j].second-kord[j].first*kord[i].second)+abs(kord[i].first*kord[k].second-kord[k].first*kord[i].second)+abs(kord[k].first*kord[j].second-kord[j].first*kord[k].second))){
                    cout<<st(n-k)<<endl;
                    rez=(rez+st(n-k))%mod ;
                }
            }
        }
    }
    for(int i=1 ; i<=n-1 ; i++){
        for(int j=i+1 ; j<=n ; j++ ){
            if(kord[i].first*kord[i].first+kord[j].first*kord[j].first+kord[i].second*kord[i].second+kord[j].second*kord[j].second==(kord[i].first-kord[j].first)*(kord[i].first-kord[j].first)+(kord[i].second-kord[j].second)*(kord[i].second-kord[j].second)){
                rez=(rez+1)%mod;
            }
        }
    }
    cout << rez ;
    return 0;
}