#8987. 「第3次PTA认证」二进制变换 普及+/提高

时间限制:1000 ms 内存限制:256 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Wind_Rises

题目描述

小明定义了一个函数 F:输入的正整数 的二进制表达中 出现的次数。例如,F(13)=3,因为(13)10 = (1101)2。然后,小明发现,F(x) 总是小于等于

,而且任意正整数 经过若干次函数 的变换后,总会成为 。如果一个正整数 恰好经过 次函数 的变换后成为 ,则小明称之为

变换数。小明想知道有多少个不大于 变换数,你可以帮帮他吗?

输入格式

第一行表示整数 ,是一个没有前导零的二进制表示。

第二行包含整数

输出格式

输出一个正整数。因为不大于 变换数的数量可能很大,请把结果模 后输出。

样例

样例输入

110
2

样例输出

3

数据范围与提示

的数据满足

的数据满足