#include "bits/stdc++.h"
using namespace std;
#define mod (ll)(1e9+7)
#define ll long long
#define ff first
#define ss second
#define pb push_back
#define N 24
#define maxn 2000005
ll n,k;
void solve(){
cin>>n>>k;
ll cur=1,id=1;
pair<ll,bool> m[n+5];
m[0]={1ll,0};
for(ll i=1; i<=n; i++){
m[i].ff=(m[i-1].ff*2);
m[i].ss=(m[i-1].ss)|(m[i].ff>k);
m[i].ff=m[i].ff%(ll)1e18;
}
for(ll i=1; i<=n; i++){
ll x=m[n-i].ff;
if(m[n-i].ss) continue;
if(cur+x>k) continue;
id=(id+m[i-1].ff%mod)%mod;
cur=cur+x;
}
while(cur!=k){}
cout<<id<<'\n';
}
int main(){
// freopen("in.txt","w",stdout);
// freopen("out.txt","r",stdin);
ios_base::sync_with_stdio(0); cin.tie(0);
ll t=1;
// cin>>t;
while(t--) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |