#include int max(int a, int b) { if (a > b) return a; else return b; } int main() { int triangle[100][100]; int sol[100][100]; int i, j, n, a; n = 0; while (scanf("%d", &a)!=EOF) { triangle[n][0] = a; for (i = 1; i <= n; i++) scanf("%d", &triangle[n][i]); n++; } for (i = 0; i < n; i++) sol[n-1][i] = triangle[n-1][i]; for (i = n-2; i >= 0; i--) { for (j = 0; j <= i; j++) { sol[i][j] = triangle[i][j] + max(sol[i+1][j], sol[i+1][j+1]); } } printf("%d\n", sol[0][0]); }