#include <iostream> #include <vector> #include <string.h> #include <algorithm> #include <map> #include<set> #include <unordered_map> #include <unordered_set> #include <math.h> using namespace std; int main() { int n; while(cin>>n){ vector<int> a(n, 0); vector<int> b(n, 0); vector<int> c(n, 0); vector<int> dpa(n,0); vector<int> dpb(n,0); for(int i=0; i<n; ++i){ cin>>a[i]; cin>>b[i]; cin>>c[i]; } dpa[0]=c[0]+a[0]; dpb[0]=b[0]; for(int i=1; i<n; ++i){ dpa[i] = min(dpa[i-1]+a[i], dpb[i-1]+c[i]+a[i]); dpb[i] = min(dpb[i-1]+b[i], dpa[i-1]+c[i]+b[i]); } int res = dpa[n-1]<dpb[n-1] ? dpa[n-1]:dpb[n-1]; cout<<res<<endl; } return 0; }