#include <iostream>
#include <utility>
using namespace std;
const int R = 0;
const int G = 1;
const int B = 2;
const int M_H = 1000;
//작은 수를 반환하는 함수
inline int smaller(int a , int b)
{
return a<b ? a : b;
}
inline int smaller(int a , int b , int c)
{//a가 가장 작? 참-> return a //거짓-> b가 가장 작냐? return b 아님 return c
return (a<b&&a<c)? a : ((b<a&&b<c)? b : c);
}
int main() {
int h[M_H][3];
int h_num; //집 수
scanf(" %d", &h_num);
for(int i = 0 ; i < h_num ; i++)
scanf("%d %d %d\n",&h[i][R],&h[i][G],&h[i][B]);
int memo[M_H][3]; //
memo[0][R] = h[0][R]; memo[0][G] = h[0][G]; memo[0][B] = h[0][B];
for(int i = 1 ; i < h_num ; i++)
{
memo[i][R] = smaller(memo[i-1][G]+h[i][R] , memo[i-1][B]+h[i][R]);
memo[i][G] = smaller(memo[i-1][R]+h[i][G] , memo[i-1][B]+h[i][G]);
memo[i][B] = smaller(memo[i-1][R]+h[i][B] , memo[i-1][G]+h[i][B]);
}
int answer = smaller(memo[h_num-1][R],memo[h_num-1][G],memo[h_num-1][B]);
printf("%d",answer);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgUiA9IDA7CmNvbnN0IGludCBHID0gMTsKY29uc3QgaW50IEIgPSAyOwpjb25zdCBpbnQgTV9IID0gMTAwMDsKCi8v7J6R7J2AIOyImOulvCDrsJjtmZjtlZjripQg7ZWo7IiYCmlubGluZSBpbnQgc21hbGxlcihpbnQgYSAsIGludCBiKQp7CglyZXR1cm4gYTxiID8gYSA6IGI7Cn0KaW5saW5lIGludCBzbWFsbGVyKGludCBhICwgaW50IGIgLCBpbnQgYykKey8vYeqwgCDqsIDsnqUg7J6RPyDssLgtPiByZXR1cm4gYSAvL+qxsOynky0+IGLqsIAg6rCA7J6lIOyekeuDkD8gcmV0dXJuIGIg7JWE64uYIHJldHVybiBjCglyZXR1cm4gKGE8YiYmYTxjKT8gYSA6ICgoYjxhJiZiPGMpPyBiIDogYyk7Cn0KCmludCBtYWluKCkgewoJaW50IGhbTV9IXVszXTsKCWludCBoX251bTsgLy/sp5Eg7IiYCglzY2FuZigiICVkIiwgJmhfbnVtKTsKICAgIAoJZm9yKGludCBpID0gMCA7IGkgPCBoX251bSA7IGkrKykgCgkJc2NhbmYoIiVkICVkICVkXG4iLCZoW2ldW1JdLCZoW2ldW0ddLCZoW2ldW0JdKTsKCQogICAgaW50IG1lbW9bTV9IXVszXTsgLy8KCW1lbW9bMF1bUl0gPSBoWzBdW1JdOyBtZW1vWzBdW0ddID0gaFswXVtHXTsgbWVtb1swXVtCXSA9IGhbMF1bQl07IAogICAgCglmb3IoaW50IGkgPSAxIDsgaSA8IGhfbnVtIDsgaSsrKQoJewoJCW1lbW9baV1bUl0gPSBzbWFsbGVyKG1lbW9baS0xXVtHXStoW2ldW1JdICwgbWVtb1tpLTFdW0JdK2hbaV1bUl0pOwoJCW1lbW9baV1bR10gPSBzbWFsbGVyKG1lbW9baS0xXVtSXStoW2ldW0ddICwgbWVtb1tpLTFdW0JdK2hbaV1bR10pOwoJCW1lbW9baV1bQl0gPSBzbWFsbGVyKG1lbW9baS0xXVtSXStoW2ldW0JdICwgbWVtb1tpLTFdW0ddK2hbaV1bQl0pOwoJfQogICAgCglpbnQgYW5zd2VyID0gc21hbGxlcihtZW1vW2hfbnVtLTFdW1JdLG1lbW9baF9udW0tMV1bR10sbWVtb1toX251bS0xXVtCXSk7CgkKICAgIHByaW50ZigiJWQiLGFuc3dlcik7CglyZXR1cm4gMDsKfQ==