#include <bits/stdc++.h>
using namespace std;
const int mod(1000000007);
int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    int adancime; int64_t valoare;
    cin >> adancime >> valoare;
    int putere = 1;
    for (int exponent = 1 ; exponent < adancime ; exponent++)
        { putere = 2LL * putere % mod; }
    int rezultat = 0;
    while (adancime)
    {
        if (!(valoare & 1)) {
            if ((rezultat += putere) >= mod)
                { rezultat -= mod; }
        } else
            { valoare++; }
        putere = 500000004LL * putere % mod;
        valoare >>= 1;
        adancime--;
    }
    
    cout << rezultat + 1;
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |