############################################################# import sys sys.setrecursionlimit(10**7) from heapq import heappop,heappush from collections import deque,defaultdict,Counter from bisect import bisect_left, bisect_right from itertools import product,combinations,permutations ipt = sys.stdin.readline def iin(): return int(ipt()) def lmin(): return list(map(int,ipt().split())) ############################################################# N,M = lmin() A = lmin() ans = 0 for i in range(M-1): v = A[i+1]-A[i]-1 ans += v t = 1 while v%2 and v>=3: ans -= t v //= 2 t <<= 1 print(ans)