#include using namespace std; #define REP(i, n) for (int i = 0; i < (n); i++) int main() { long long N, M; cin >> N >> M; vector A(M); REP(i, M) cin >> A[i]; vector B(M - 1); REP(i, M - 1) B[i] = A[i + 1] - A[i] - 1; map mp; auto rec = [&](auto f, long long x) -> long long { if (mp.count(x) > 0) return mp[x]; if (x == 0) return 0; if (x == 1) return 1; if (x == 2) return 2; if (x % 2 == 0) return x; return mp[x] = 2 * f(f, x / 2); }; long long ans = 0; REP(i, M - 1) ans += rec(rec, B[i]); cout << ans << '\n'; return 0; }