N = int(input()) ans = 0 MOD = 10**9+7 p = [1] for i in range(200): p.append(p[-1]*2%MOD) for i in range(65): S1, S2 = 0, 0 for j in range(65): if (N>>j)&1: if ij: S2 += 1<>(i+1) ans += S1*(c+1)//2*p[i] ans -= S1*p[i] ans += p[i]*c*p[i] ans += p[i]*(p[i]-1)//2*c if (N>>i)&1: ans += p[i]*(S2+1) ans += S1*(S2+1) ans += S2*(S2+1)//2 ans %= MOD print(ans)