#1768. 三级(2603):二进制回文串

三级(2603):二进制回文串

背景

GESP三级(2603)

描述

对于一个正整数 nn,我们将其转换为不含前导零的二进制表示,如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。例如,9 的二进制表示为 (1001)2(1001)_2,是二进制回文数; 12 的二进制表示为 (1100)2(1100)_2,不是二进制回文数。

你的任务是:给定一个正整数 nn ,计算在 1 到 nn 的范围内二进制回文数的数量。

格式

输入

输入一行,包含一个正整数 nn

输出

输出一行,包含一个数 nn,表示在 1 到 nn 的范围内二进制回文数的数量。

样例

15
6

样例解释

样例 1 中, 1 到 15 范围内 1、 3、 5、 7、 9、15 是二进制回文数。

数据规模

1n1051 \leq n \leq 10^5

限制

时间限制:1.0 s

空间限制:512.0 MB