#include <bits/stdc++.h>
using namespace std;
typedef complex<double> P;
typedef pair<P,P> L;
const double EPS=1e-6;

double cross(P a, P b){ return imag(conj(a)*b); }
P crossPoint(L l, L m){
  double A = cross(l.second - l.first, m.second - m.first);
  double B = cross(l.second - l.first, l.second - m.first);
  if(fabs(A) < EPS && fabs(B) < EPS) return m.first;
  else if(fabs(A) >= EPS) return m.first + B / A * (m.second - m.first);
}

int main(){
  int n;
  cin>>n;
  vector<P> G(n);
  for(int i=0;i<n;i++){
    double x,y;
    cin>>x>>y;
    G[i]=P(x,y);
  }
  if(n%2){cout<<"NA"<<endl;return 0;}  
  double len=abs(G[0]-G[1]);
  for(int i=0;i<n/2;i++){
    double a=abs(G[i]-G[(i+1)]);
    double b=abs(G[i+n/2]-G[(i+n/2+1)%n]);
    if(abs(a-b)>EPS){cout<<"NA"<<endl;return 0;}
  }
  P ans=crossPoint(L(G[0],G[n/2]),L(G[1],G[n/2+1]));
  printf("%lf %lf\n",real(ans),imag(ans));
  return 0;
}