#include<bits/stdc++.h>
using namespace std;
const long long a=1e9+7;
int digui(long long s)
{
	if(s==0)
		return 1;
	if(s==1)
		return 2;
	if(s==2)
		return 4;
	if(s>2)
		return (digui(s/2)+digui((s-1)/2)+digui((s-2)/2))%a;
}
int main()
{
	long long n,m;
	scanf("%lld",&n);
	m=digui(n);
	printf("%lld",m);
}