#include <iostream>
#include <vector>
#include <cmath>
#include <bitset>
using namespace std;
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
long long n,k;
cin>>n>>k;
k--;
bitset<65> bits=k;
//cout<<bits<<endl;
bitset<65> bitnew;
for(int i=0;i<n/2;i++){
bitnew[i]=bits[n-1-i];
bitnew[n-1-i]=bits[i];
//cout<<i<<endl;
}
if(n%2==1){
long long center=(n/2)+1;
bitnew[center-1]=bits[center-1];
//cout<<"center";
}
//cout<<bitnew<<endl;
unsigned long long onesl=bitnew.to_ullong();
unsigned long long answ=(onesl+1)%1000000007;
cout<<answ<<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... |