// task name is ch

#include <bits/stdc++.h>

#define ONLINE
#define Point pair<int,int>
#define x first
#define y second
const int inf=2000000000;
using namespace std;
bool ccw(Point a, Point b, Point c)
{
    return (b.x-a.x)*(b.y+a.y)+(c.x-b.x)*(c.y+a.y)+(a.x-c.x)*(a.y+c.y)<0;
}
bool sccw(Point a, Point b, Point c)
{
    return (b.x-a.x)*(b.y+a.y)+(c.x-b.x)*(c.y+a.y)+(a.x-c.x)*(a.y+c.y)<=0;
}
int conhull(vector<Point> v){
    Point mn=make_pair(inf,inf), mx=make_pair(-inf,-inf);
    for(int i=0; i<v.size(); i++){
        mn=min(mn,v[i]);
        mx=max(mx,v[i]);
    }
    vector<Point> upper,lower;
    upper.push_back(mn);
    lower.push_back(mn);
    upper.push_back(mx);
    lower.push_back(mx);
    for(int i=0; i<v.size(); i++){
        if(v[i]==mn || v[i]==mx)
            continue;
        if(ccw(mx,v[i],mn))
            upper.push_back(v[i]);
        if(ccw(mn,v[i],mx))
            lower.push_back(v[i]);
    }
    sort(lower.begin(),lower.end());
    sort(upper.begin(),upper.end());
    vector<Point> st;
    for(int i=0; i<lower.size(); i++){
        while(st.size()>=2 && !sccw(st[st.size()-2],st[st.size()-1],lower[i]))st.pop_back();
        st.push_back(lower[i]);
    }
    int ans=st.size()-2;
    st.clear();
    for(int i=upper.size()-1; i>=0; i--){
        while(st.size()>=2 && !sccw(st[st.size()-2],st[st.size()-1],upper[i]))st.pop_back();
        st.push_back(upper[i]);
    }
    return ans+st.size();
}


long long gcd(long long a, long long b){
    return b ? gcd(b,a%b) : a;
}
int main()
{
    #ifdef ONLINE
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    #endif // ONLINE
    int n;
    cin >> n;
    vector<Point> v(n);
    for(int i=0; i<n; i++){
        cin >> v[i].first >> v[i].second;
    }
    long long sum=0;
    for(int i=0; i<n; i++){
        vector<Point> cur;
        for(int j=0; j<n; j++){
            if(j!=i)
                cur.push_back(v[j]);
        }
        sum+=conhull(cur);
        //cout << sum << " ";
    }
    long long g=gcd(sum,n);
    cout << sum/g << " " << n/g;
    return 0;
}
