func_code_string: #include <bits/stdc++.h>   using namespace std;   int N, K;   long long F[510][510], P[510 * 510];   int main() {     scanf( %d%d , &N, &K);     P[0] = 1;     for (int i = 1; i <= N * N; i++) P[i] = (P[i - 1] << 1) % 1000000007;     memset(F, 0, sizeof(F));     F[0][0] = 1;     for (int i = 1; i <= N; i++) {       F[i][0] = 1;       for (int j = 1; j <= min(i, K); j++)         for (int k = 0; k < i; k++) {           F[i][j] = (F[i][j] + (F[k][j - 1] * (P[i - k] - 1) % 1000000007) *                                    P[(i - k) * k] % 1000000007) %                     1000000007;         }     }     cout << F[N][K] << endl;     return 0;   }   