using System; using static System.Console; using System.Linq; using System.Collections.Generic; using System.Security.Cryptography; using Microsoft.VisualBasic; class Program { static int NN => int.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); static long[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var map = NArr(n - 1); var dp = new long[n - 1][]; for (var i = 0; i < dp.Length; ++i) { dp[i] = (long[]) map[i].Clone(); } var rest = 0L; for (var i = 0; i < dp.Length; ++i) { for (var j = 1; j < dp.Length; ++j) { if (dp[i][0] == 0) break; var to = (i + j) % dp.Length; var min = Math.Min(dp[i][0], dp[to][1]); dp[i][0] -= min; dp[to][1] -= min; } rest += dp[i][0]; } var max = 0L; for (var i = 0; i < map.Length; ++i) max += map[i][0]; WriteLine(max - rest + 1); } }