#include #include #define rep(i,n) for(int i=0;i vi; typedef vector vl; typedef vector> vvi; typedef vector> vvl; typedef pair P; typedef long double ld; int main(){ ll n; int m; cin >> n >> m; vl a(m + 2); a[0] = 0; rep(i, m) cin >> a[i + 1]; a[m + 1] = n + 1; ll ans = 0; rep(i, m + 1){ ll d = a[i + 1] - a[i] - 1; if(d <= 0) continue; ll c = 1; while(d >= 3 and d % 2 == 1){ d--; d /= 2; c *= 2; } ans += c * d; } cout << ans; return 0; }