#include <bits/stdc++.h>
using namespace std;
const long double pi = 3.1415926535;
const long double eps = 1e-6;
long double s3 = sqrt(3.) / 2.;
struct TP {
  long double x, y;
} z;
struct TE {
  TP d[7];
} H, T, D;
void dec(TE &a, long double dx, long double dy) {
  for (int i = 0; i < 6; i++) a.d[i].x += dx, a.d[i].y += dy;
}
long double sqr(long double x) { return x * x; }
long double dis2(TP a, TP b) { return sqrt(sqr(a.x - b.x) + sqr(a.y - b.y)); }
long double dis2(TE a) {
  long double d = 0;
  for (int i = 0; i < 6; i++) d = max(d, dis2(z, a.d[i]));
  return d;
}
int k;
long long rec, now;
int main() {
  scanf("%d", &k);
  if (k == 1) {
    puts("1");
    return 0;
  }
  z.x = z.y = 0;
  int h = 0, t = 0;
  D.d[0].x = -1, D.d[0].y = 0;
  D.d[1].x = -0.5, D.d[1].y = s3;
  D.d[2].x = 0.5, D.d[2].y = s3;
  D.d[3].x = 1, D.d[3].y = 0;
  D.d[4].x = 0.5, D.d[4].y = -s3;
  D.d[5].x = -0.5, D.d[5].y = -s3;
  H = T = D;
  while (dis2(H) < k + eps) {
    h--;
    dec(H, 0, -s3 * 2);
  }
  while (dis2(T) < k + eps) {
    t++;
    dec(T, 0, s3 * 2);
  }
  t--, h++;
  dec(H, 0, s3 * 2);
  dec(T, 0, -s3 * 2);
  bool flag = 0;
  rec = now = t - h + 1;
  int ti = 0;
  for (;;) {
    ti++;
    dec(H, 1.5, s3);
    dec(T, 1.5, s3);
    dec(H, 0, -s3 * 2);
    h--;
    dec(T, 0, s3 * 2);
    t++;
    dec(H, 0, -s3 * 2);
    h--;
    dec(T, 0, s3 * 2);
    t++;
    dec(H, 0, -s3 * 2);
    h--;
    dec(T, 0, s3 * 2);
    t++;
    dec(H, 0, -s3 * 2);
    h--;
    dec(T, 0, s3 * 2);
    t++;
    while (h <= t && dis2(H) > k + eps) {
      h++;
      dec(H, 0, s3 * 2);
    }
    while (h <= t && dis2(T) > k + eps) {
      t--;
      dec(T, 0, -s3 * 2);
    }
    if (t < h) {
      if (ti % 2 == 1) {
        H = D;
        dec(H, (ti + 1) / 2 * 3., 0);
        if (dis2(H) < k + eps) now++;
      }
      break;
    }
    now += t - h + 1;
  }
  cout << now * 2 - rec << endl;
}
