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 t = NN; var n = NN; var a = new int[n]; for (var i = 0; i < n; ++i) a[i] = NN; var bitmax = 1 << n; var INF = int.MaxValue / 2; var dp = Enumerable.Repeat(INF, bitmax).ToArray(); for (var i = 0; i < n; ++i) dp[1 << i] = a[i]; for (var b = 0; b < bitmax; ++b) { if (dp[b] == INF) continue; for (var i = 0; i < n; ++i) { var next = b | (1 << i); if (b == next) continue; var ntime = dp[b] + a[i]; if ((dp[b] - 1) / t != (ntime - 1) / t) ntime = (dp[b] + t - 1) / t * t + a[i]; dp[next] = Math.Min(dp[next], ntime); } } WriteLine((dp[^1] + t - 1) / t); } }