#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k,ans,mod=1e9+7;
ll qp(ll x,ll y){
if(y==0)
return 1;
ll re=qp(x,y/2);
re=re*re%mod;
if(y&1)
re=re*x%mod;
return re;
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
if(k%2==0)
ans=(ans+qp(2,n-i))%mod;
k=ceil(1.0*k/2);
}
ans=(ans+k)%mod;
cout<<ans<<endl;
return 0;
}