#include <algorithm>
#include <iostream>
const int grid[2][3] = { { 5, 1, 2 }, { 6, 7, 8 } };
int dp[3][4];
int main()
{
for (int i = 0; i < 4; i++)
dp[0][i] = 0;
for (int i = 0; i < 3; i++)
dp[i][0] = 0;
for (int i = 1; i < 3; i++)
{
for(int j = 1; j < 4; j++)
{
dp[i][j] = grid[i-1][j-1] + std::max(dp[i][j-1], dp[i-1][j]);
}
}
std::cout << dp[2][3] << std::endl;
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKY29uc3QgaW50IGdyaWRbMl1bM10gPSB7IHsgNSwgMSwgMiB9LCB7IDYsIDcsIDggfSB9OwoKaW50IGRwWzNdWzRdOwoKaW50IG1haW4oKQp7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykKICAgICAgICBkcFswXVtpXSA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykKICAgIAlkcFtpXVswXSA9IDA7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPCAzOyBpKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqID0gMTsgaiA8IDQ7IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGRwW2ldW2pdID0gZ3JpZFtpLTFdW2otMV0gKyBzdGQ6Om1heChkcFtpXVtqLTFdLCBkcFtpLTFdW2pdKTsKICAgICAgICB9CiAgICB9CgogICAgc3RkOjpjb3V0IDw8IGRwWzJdWzNdIDw8IHN0ZDo6ZW5kbDsKICAgIHJldHVybiAwOwp9Cg==