#include namespace nono { void solve() { long long n; int m; std::cin >> n >> m; std::vector a(m); for (int i = 0; i < m; i++) std::cin >> a[i]; std::map memo; auto calc = [&](auto self, long long v) -> long long { if (v <= 2) { return v; } if (memo.contains(v)) return memo[v]; if (v % 2 == 0) { return memo[v] = v; } else { return memo[v] = 2 * self(self, v / 2); } }; long long ans = 0; for (int i = 0; i + 1 < m; i++) { ans += calc(calc, a[i + 1] - a[i] - 1); } std::cout << ans << std::endl; } } // namespace nono int main() { std::cin.tie(0)->sync_with_stdio(false); std::cout << std::fixed << std::setprecision(15); int t = 1; while (t--) nono::solve(); }