#include using namespace std; int dp[3][2]; int max(int a, int b) { return (a > b) ? a : b; } int main() { int n, a, b, c, i; cin >> n; cin >> a >> b >> c; dp[0][0] = 0; dp[1][0] = a; dp[2][0] = b; for(i = 2; i <= n; i++) { // citeste linia urmatoare cin >> a >> b >> c; // calculeaza coloana 1 din dp dp[0][1] = max(dp[0][0], dp[1][0]); dp[1][1] = max(dp[0][0] + a, dp[2][0] + b); dp[2][1] = max(dp[0][0] + b, dp[2][0] + c); // copiaza coloana 1 in coloana 0 dp[0][0] = dp[0][1]; dp[1][0] = dp[1][1]; dp[2][0] = dp[2][1]; } cout << max(dp[1][0], dp[0][0]) << "\n"; return 0; }