p=[1,2,3,8]
q=[0,1,1,3]
n=int(input());
for i in range(0,4100) :
a=1;
if i%3==2 :
a=2*(i//3 + 2)
p.append(a*p[-1]+p[-2])
q.append(a*q[-1]+q[-2])
def sa(b,i,m) :
res=m*b*p[i]
if i&1 :
res+=(b*p[i]*q[i]-q[i]+p[i]-1)*b // 2
else :
res+=(b*p[i]*q[i]-q[i]+p[i]+1)*b // 2
return res
ans=0
for i in range(4000,0,-1) :
if q[i]<=n and q[i+1]>n :
if q[i]==n :
ans+=sa(1,i,0)
n=0;
else :
b=n//q[i]
m=n%q[i]
ans+=sa(b,i,m)
n=m
print(ans)
cD1bMSwyLDMsOF0KcT1bMCwxLDEsM10Kbj1pbnQoaW5wdXQoKSk7CmZvciBpIGluIHJhbmdlKDAsNDEwMCkgOgoJYT0xOwoJaWYgaSUzPT0yIDoKCQlhPTIqKGkvLzMgKyAyKQoJcC5hcHBlbmQoYSpwWy0xXStwWy0yXSkKCXEuYXBwZW5kKGEqcVstMV0rcVstMl0pCmRlZiBzYShiLGksbSkgOgoJcmVzPW0qYipwW2ldCglpZiBpJjEgOgoJCXJlcys9KGIqcFtpXSpxW2ldLXFbaV0rcFtpXS0xKSpiIC8vIDIKCWVsc2UgOgoJCXJlcys9KGIqcFtpXSpxW2ldLXFbaV0rcFtpXSsxKSpiIC8vIDIKCXJldHVybiByZXMKYW5zPTAKZm9yIGkgaW4gcmFuZ2UoNDAwMCwwLC0xKSA6CglpZiBxW2ldPD1uIGFuZCBxW2krMV0+biA6CgkJaWYgcVtpXT09biA6CgkJCWFucys9c2EoMSxpLDApCgkJCW49MDsKCQllbHNlIDoKCQkJYj1uLy9xW2ldCgkJCW09biVxW2ldCgkJCWFucys9c2EoYixpLG0pCgkJCW49bQpwcmludChhbnMp