#include<bits/stdc++.h>
#include<string.h>
#include <algorithm>
#include <stdlib.h>
#define fr first
#define sc second
#define ll long long
using namespace std;
ll a,b,c,d,e,f,m,i,j,n,h,g,l,r,ka,p,q,k[1000005],t[500005];
map<ll,ll> maa,mii,mee;
vector<ll> vis,vo,vi;
int main(){
cin>>a>>b;
l=0;
r=a;
k[0]=1;
for(i=1 ; i<=a ; i++){
k[i]=k[i-1]*2;
k[i]=k[i]%1000000007;
}
g=1;
h=0;
while(b>1 ){
h++;
if(b%2==1){
r--;
}
else{
l++;
g+=k[a-h];
g=g%1000000007;
}
b=(b+1)/2;
}
cout<<g<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |