/************************************************
Algorithmen und Problemloesungen mit C++,
http://www.algorithmen-und-problemloesungen.de
Copyright @2007 by Doina Logofatu
************************************************/

#include <fstream>

struct TPoint{
  int x, y;
};

double sqr(double x){
  return x*x;
}

bool isIn(TPoint p, int n){
  TPoint q;
  q.x=p.x+1; q.y=p.y+1;
  double r=n-(1./2.);
  if(sqr(q.x)+sqr(q.y)<sqr(r)) 
    return true;
  return false;
}

bool isOn(TPoint p, int n){
  TPoint q;
  q.x=p.x+1; q.y=p.y+1;
  double r=n-(1./2.);
  if(sqr(p.x)+sqr(p.y)<=sqr(r) && sqr(q.x)+sqr(q.y)>=sqr(r)) 
    return true;
  return false;
}

int main(){
  int n, x, y;
  TPoint p;
  long int n_On, n_In;
  std::ifstream in("quadrate.in");
  std::ofstream out("quadrate.out");
  while(in && !in.eof() && in>>n){
    n_In=0; n_On=0;
    for(x=0; x<n; x++)
      for(y=0; y<n; y++){
        p.x=x; p.y=y;
        if(isIn(p, n)) n_In++;
        if(isOn(p, n)) n_On++;
      }    
    out<< 4*n_On<<" "<<4*n_In<<std::endl;        
  }
  return 0;
}
