using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (l, n) = (c[0], c[1]); var x = NList; var dp = new bool[l * 2 + 1]; dp[x[0] + x[^1]] = true; for (var i = 1; i < x.Length; ++i) { var ndp = new bool[dp.Length]; for (var j = 0; j < dp.Length; ++j) { var nj = j + x[i] - x[i - 1]; if (nj >= 0 && nj < ndp.Length) ndp[nj] |= dp[j]; nj = j - x[i] + x[i - 1]; if (nj >= 0 && nj < ndp.Length) ndp[nj] |= dp[j]; } dp = ndp; } for (var i = 0; i <= l; ++i) { if (dp[l + i] || dp[l - i]) { WriteLine(i); return; } } } }