#include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { int N;cin >> N; vector X(N), Y(N); for (int i = 0;i < N;i++) cin >> X[i] >> Y[i]; vector dp(2, 0); if (X[0] == Y[0]) { dp[0] = X[0]; dp[1] = X[0]; } for (int i = 0;i < N-1;i++) { vector ndp(2, 0); for (int t = 0;t < 2;t++) for (int u = 0;u < 2;u++) { ll np = Y[i]; if (t == 1) np = X[i]; ll nx = X[i+1]; if (u == 1) nx = Y[i+1]; ndp[u] = max(ndp[u], (X[i+1]==Y[i+1] ? X[i+1] : 0) + (nx == np ? nx : 0) + dp[t]); } swap(dp, ndp); } cout << max(dp[0], dp[1]) << endl; }