func_code_string: #include <bits/stdc++.h>   #pragma comment(linker,  /STACK:100000000000 )   bool ascending(int i, int j) { return (i < j); }   bool descending(int i, int j) { return (i > j); }   using namespace std;   const int MOD = 1000 * 1000 * 1000 + 7;   unsigned long long powmod(unsigned long long a, unsigned long long b,                             unsigned long long m) {     unsigned long long x = a, p = 1;     while (b > 0) {       if (b % 2) p = ((p % m) * (x % m)) % m;       b /= 2;       x = ((x % m) * (x % m)) % m;     }     return p;   }   int main() {     int mersenne[] = {0,       2,       3,       5,        7,       13,                       17,      19,      31,      61,       89,      107,                       127,     521,     607,     1279,     2203,    2281,                       3217,    4253,    4423,    9689,     9941,    11213,                       19937,   21701,   23209,   44497,    86243,   110503,                       132049,  216091,  756839,  859433,   1257787, 1398269,                       2976221, 3021377, 6972593, 13466917, 20996011};     int n;     cin >> n;     cout << powmod(2, mersenne[n] - 1, MOD) - 1 << endl;   }   