n, m = map(int, input().split())
w = [int(input()) for _ in range(m)]
if w[0]-1 > 0 :
    ans = w[0]-1
else :
    ans = 1
    
if m > 1 :
    for i in range(0, m-1) :
        if w[i+1] - w[i] == 1 :
            print(0)
            exit()
        elif w[i+1] - w[i] > 2 :
            j = w[i+1] - w[i] - 3
            if j%4 == 0 :
                ans *= (j + 2)*(j//4)+1
            elif j%4 == 1 :
                ans *= (j + 1)*(j//4)+(j//2+1)+1
            elif j%4 == 2 :
                ans *= (j + 2)*(j//4)+(j//2+1)+1
            elif j%4 == 3 :
                ans *= (j + 1)*(j//4+1)+1

if n - w[m-1] - 2 > 0 :
    j = n - w[m-1] - 2
    if j >= 4 :
        if j%4 == 0 :
            ans *= (j + 2)*(j//4)+1
        elif j%4 == 1 :
            ans *= (j + 1)*(j//4)+(j//2+1)+1
        elif j%4 == 2 :
            ans *= (j + 2)*(j//4)+(j//2+1)+1
        elif j%4 == 3 :
            ans *= (j + 1)*(j//4+1)+1
    else :
        if j%4 == 1 :
            ans *= (j + 1)
        elif j%4 == 2 :
            ans *= (j + 1)
        elif j%4 == 3 :
            ans *= (j + 1)

    print(ans%1000000007)
else :
    print(ans%1000000007)
