U657513 数点

题目背景

UPD on 2026/06/18: 数据已加强。

题目描述

已知 $f(x,y)=\begin{cases}x+y,&x=0\lor y=0,\\f(x/2,y)+f(x,y/2),&x>0,y>0.\end{cases}$ (其中 $/$ 表示整除) 求满足 $f(x,y)\le n$ 的整数对 $(x,y)$ 的个数。

输入格式

输入一个整数 $n(1\le n\le 10^{12})$。

输出格式

输出一个整数,表示答案。

说明/提示

对于 $25\%$ 的数据,$n\le 10^3$; 对于 $50\%$ 的数据,$n\le 10^6$; 对于 $75\%$ 的数据,$n\le 10^9$; 对于 $100\%$ 的数据,$n\le 10^{12}$。