/*
    如果所示的6边形图,询问半径为r的圆能完整包含多少个6边形

    一开始想找规律,wa
    
    看了解题报告,解法很好.
    先向上找到最高的被完全包含的6边形,然后往右上走
    若右上越界了,就下一层.就这样.一边走一边统计          ---------------------OMG
    
    若以中间那块的中心为坐标原点的话,可以发现所以六边形的顶点的坐标会是(1/2x, sqrt(3)/2y)
    如(0.5, sqrt(3)/2)等,这里x,y是整数
    不超过圆就有x*x + 3*y*y <= 4*r*r

    然后x,y可以用整数点去走,用上面的表达式去判出界

    代码是看第一名的那个~~~Orz
*/

#include
<iostream>
#include
<cstdio>
#include
<cmath>
#include
<algorithm>

using namespace std;

int main()
{
    
//freopen("in", "r" ,stdin);
    for (long long r; cin >> r;) {
        
long long ans = 0;
        
long long x = 1, y = 1;
        
while (x*+ 3*y*<= 4*r*r) {
            y 
+= 2;
        }

        y 
-= 2;
        ans 
+= y;

    
//右上角那块
        y += 1;
        x 
+= 3;
        
while (y >= 0{
            
if (x*+ 3*y*<= 4*r*&& (x+1)*(x+1+ 3*(y-1)*(y-1<= 4*r*r ) {
                ans 
+= 2*y;
                y 
+= 1;//往右上
                x += 3;
            }
 else {
                y 
-= 2;//下来一格
            }

        }

        cout
<< ans << endl;
    }

    
return 0;
}