seuOJ9163 - 数的转化

题目描述

998244353998244353 是算法竞赛中的常见模数。在算法竞赛中,如果答案特别大,往往会对一个给定的数取模。最近,猪发现,998244353=119×223+1998244353=119\times 2^{23}+1,随后便开始痴迷于把正整数写成类似的形式。

给定一个正整数 NN。可以证明,有无穷多个非负整数三元组 (a,b,c)(a,b,c) 满足 N=a×2b+cN=a\times2^b+c。在所有满足上述条件的三元组中,求 a+b+ca+b+c 的最小值。

输入格式

一行一个整数 NN1N<2601\le N<2^{60})。

输出格式

一行一个整数,表示答案。

样例

样例 1

输入

1

输出

1

解释

(a,b,c)=(1,0,0)(a,b,c)=(1,0,0)1=1×20+01=1\times2^0+0,所以 a+b+ca+b+c 可以是 11

又因为取 (a,b,c)=(0,0,0)(a,b,c)=(0,0,0)0=0×20+00=0\times2^0+0,所以 a+b+ca+b+c 不能是 00

样例 2

输入

998244353

输出

143

解释

(a,b,c)=(119,23,1)(a,b,c)=(119,23,1)998244353=119×223+1998244353=119\times2^{23}+1,此时 a+b+c=143a+b+c=143

可以证明,不存在非负整数三元组 (a,b,c)(a,b,c) 满足 998244353=a×2b+c998244353=a\times2^b+ca+b+c<143a+b+c<143