#P16946. [SGU348]Twisting the Number

[SGU348]Twisting the Number

[sgu348] Twisting the Number

题目描述

Dull 教授发明了一种新的数论概念——“扭转生成器”。

对于一个正整数 pp,设它的二进制表示共有 bb 位,最高位为 11。对这 bb 位二进制表示做所有可能的循环移位,共有 bb 种结果。把这些结果对应的整数构成集合 W(p)W(p)。注意,循环移位后的二进制串允许以 00 开头。

例如,1111 的二进制表示为 1011,其所有循环移位对应的整数构成

W(11)={7,11,13,14}W(11)=\{7,11,13,14\}

如果

k=1pW(k)\displaystyle \bigcup_{k=1}^{p} W(k)

包含集合 {1,2,,n}\{1,2,\ldots,n\},则称 pp 是整数 nn 的一个扭转生成器

给定正整数 nn,求它的最小扭转生成器。

输入格式

输入一行,一个正整数 nn

1n10181\le n\le10^{18}

输出格式

输出一个整数,表示 nn 的最小扭转生成器。

样例

6
5

数据范围

1n10181\le n\le10^{18}