問題文
正の整数を定義域とする関数fが
f(x)={x (xが奇数のとき)f(2x) (xが偶数のとき)
と定義されています。
正の整数 n が入力として与えられます。
k=1∑nf(k)
の値を1000000007で割った余りを求めてください。
制約
1≤n≤1012
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを標準出力に1行で出力せよ。行末に改行を入れること。
入力例1
出力例1
f(1)=1, f(2)=f(1)=1, f(3)=3, f(4)=f(2)=f(1)=1
となり、合計は 6 です。
入力例2
出力例2
1000000007で割った余りを出力してください。