//#include //#include //#include //#include // //using namespace std; // //const int INF = -1e18; // //int main() { // int n, m; // cin >> n >> m; // // vector> matrix(n, vector(m)); // for (int i = 0; i < n; ++i) { // for (int j = 0; j < m; ++j) { // cin >> matrix[i][j]; // } // } // // vector>> dp(m + 1, vector>(m, vector(m, INF))); // dp[0][0][m - 1] = 0; // // for (int i = 0; i < m; ++i) { // for (int l = 0; l < m; ++l) { // for (int r = 0; r < m; ++r) { // if (dp[i][l][r] == INF) continue; // // for (int k = 0; k < n; ++k) { // if (l <= r) { // dp[i + 1][l + 1][r] = max(dp[i + 1][l + 1][r], dp[i][l][r] + matrix[k][l] * (1LL << i)); // dp[i + 1][l][r - 1] = max(dp[i + 1][l][r - 1], dp[i][l][r] + matrix[k][r] * (1LL << i)); // } // } // } // } // } // // cout << dp[m][0][m - 1] << endl; // return 0; //}