#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using namespace atcoder; #define int long long using mint=modint998244353; double pi=3.141592653589793128; //cout << fixed << setprecision(10); #define all(x) (x).begin(),(x).end() #define rep(i,n) for (int i=0;i<(n);++i) #define prep(i,n) for (int i=1;i<=(n);++i) #define ep(i,j,n) for (int i=j+1;i<=(n);++i) long long INF = 900000000000000; int mod=998244353; signed main(){ int n;cin>>n; int dp[n][2]; rep(i,n){ rep(j,2)dp[i][j]=0; } int x[n],y[n];int ans=0; rep(i,n)cin>>x[i]>>y[i]; if(x[0]==y[0]){dp[0][0]=x[0];dp[0][1]=x[0];} prep(i,n-1){ if(x[i]==x[i-1])dp[i][0]=dp[i-1][1]+x[i]; if(y[i]==y[i-1])dp[i][1]=dp[i-1][0]+y[i]; if(x[i]==y[i-1])dp[i][0]=dp[i-1][0]+x[i]; if(y[i]==x[i-1])dp[i][1]=dp[i-1][1]+y[i]; rep(j,2){ rep(k,2){ dp[i][k]=max(dp[i][k],dp[i-1][j]); } } if(x[i]==y[i]){ rep(j,2)dp[i][j]+=x[i]; } } cout<