#include using namespace std; #define ll long long #define rep(i, n) for (int i = 0; i < (int)(n); i++) const long long mod=998244353; const long long mod100=1000000007; int main(){ cin.tie(0)->sync_with_stdio(0); cout.tie(0); int N; cin>>N; ll x[N+1],y[N+1]; for(int i=1;i<=N;i++) cin>>x[i]>>y[i]; ll dp[N+1][2]; for(int i=1;i<=N;i++){ dp[i][0]=0; dp[i][1]=0; } if(x[1]==y[1]){ dp[1][0]=x[1]; dp[1][1]=y[1]; } for(int i=2;i<=N;i++){ ll plus=0; if(x[i]==y[i]) plus=x[i]; dp[i][0]=max(dp[i-1][0],dp[i-1][1])+plus; dp[i][1]=max(dp[i-1][0],dp[i-1][1])+plus; if(x[i]==x[i-1]){ dp[i][0]=max(dp[i][0],dp[i-1][1]+x[i]+plus); } if(x[i]==y[i-1]){ dp[i][0]=max(dp[i][0],dp[i-1][0]+x[i]+plus); } if(y[i]==x[i-1]){ dp[i][1]=max(dp[i][1],dp[i-1][1]+y[i]+plus); } if(y[i]==y[i-1]){ dp[i][1]=max(dp[i][1],dp[i-1][0]+y[i]+plus); } } cout<