func_code_string: #include <bits/stdc++.h>   using namespace std;   using ll = long long;   using ld = long double;   const ll OO = 1e18;   int di[8] = {0, 0, 1, -1, -1, 1, -1, 1};   int dj[8] = {1, -1, 0, 0, 1, 1, -1, -1};   string ys =  YES , no =  NO ;   const long double dgr = acos(-1) / 180, dg = 180 / acos(-1);   const int mod = 1e9 + 9, N = 1e5 + 5, M = 2001;   ll fast_power(ll base, ll power) {     ll ans = 1;     while (power > 0) {       if (power & 1) ans = (ans * base) % mod;       base = (base * base) % mod;       power >>= 1;     }     return ans;   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     ;     ll n, m;     cin >> n >> m;     ll pw_m = fast_power(2, m);     ll ans = 1;     for (int i = 1; i <= n; i++) {       ans = ans * (pw_m - i) % mod;     }     cout << ans % mod <<   n ;   }   