#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
const double pi = acos(-1.0), eps = 1e-6;
void File() {
  freopen("D:\\in.txt", "r", stdin);
  freopen("D:\\out.txt", "w", stdout);
}
template <class T>
inline void read(T &x) {
  char c = getchar();
  x = 0;
  while (!isdigit(c)) c = getchar();
  while (isdigit(c)) {
    x = x * 10 + c - '0';
    c = getchar();
  }
}
double r;
double sqrt3 = sqrt(3.0);
double dis(double x, double y) { return x * x + y * y; }
bool check(double x, double y) {
  if (dis(x, y + 1) - eps > r * r) return 0;
  if (dis(x, y - 1) - eps > r * r) return 0;
  if (dis(x + sqrt3 / 2, y + 0.5) - eps > r * r) return 0;
  if (dis(x + sqrt3 / 2, y - 0.5) - eps > r * r) return 0;
  if (dis(x - sqrt3 / 2, y + 0.5) - eps > r * r) return 0;
  if (dis(x - sqrt3 / 2, y - 0.5) - eps > r * r) return 0;
  return 1;
}
int main() {
  while (~scanf("%lf", &r)) {
    long long ans = 0, L = 1, R = (long long)2000000, pos;
    while (L <= R) {
      long long mid = (L + R) / 2;
      if (check((mid - 1) * sqrt3, 0))
        pos = mid, L = mid + 1;
      else
        R = mid - 1;
    }
    long long cnt = 0;
    double x = 0, y = -3;
    while (1) {
      if (!check(x, y)) break;
      long long L = 1, R = (long long)2000000, pp;
      while (L <= R) {
        long long mid = (L + R) / 2;
        if (check(x - (mid - 1) * sqrt3 / 2, y - (mid - 1) * 1.5))
          pp = mid, L = mid + 1;
        else
          R = mid - 1;
      }
      pp = 1 + (pp - 1) * 2, cnt = cnt + pp, y = y - 3;
    }
    ans = 6 * (pos - 1) + 1 + 6 * cnt;
    printf("%lld\n", ans);
  }
  return 0;
}
