#1921. 交替和

交替和

题目描述

定义域为[1,n]\red{[1,n] }内的整数,值域为实数集的函数 f:{1,2,3,...,n}\red{f :\{1,2,3,...,n\}→}R\red{R }又被称为有限序 列。而 f\red{f }的交替和定义为 A(f):=k=1n(1)k1f(k)\red{A(f):=\sum\limits_{k=1}^{n}{(-1)^{k-1}f(k)}}。现在我们讨论一种特殊的数列 Ln,b\red{L_{n,b} }的交 替和。Ln,b\red{L_{n,b} }是这样生成的:假设序列 L\red{L }一开始是"空的"。之后,按照从小到大的顺序将[1,n]\red{[1,n]} 中的整数在b\red{b }进制中的表示,从高位到低位逐位"添加"进序列 L\red{L }。最后得到的 L\red{L }即为 Ln,b\red{L_{n,b} }。 举例来说,在2\red{2}进制下5\red{5}表示为101\red{101,}那么 L5,2\red{L_{5,2} }即为数列1,1,0,1,1,1,0,0,1,0,1\red{1,1,0,1,1,1,0,0,1,0,1}。这是将数1,2,3,4,5\red{1,2,3,4,5}2\red{2 }进制下的表示1,10,11,100,101\red{1,10,11,100,101}逐位"添加"的结果。现在对于给定的整数b,n\red{b,n ,}你需要 计算 A(Ln,b)\red{A( L_n,b) }的值。

输入格式

输入文件包含一行两个整数b,n\red{b,n }

输出格式

输出一个整数表示 A(Ln,b)\red{A( L_n,b)}的值。

样例

输入样例

2 5

输出样例

1

提示

对于 20%\red{20\% }的数据,满足 n<=1000\red{n<=1000 }

对于 100%\red{100\% }的数据,满足 1<=n<=1018\red{1<=n<=10^{18} ,} 2<=b<=10\red{2<=b<=10}